2017-03-28 1 views
-5

J'ai un problème quand j'exécute ce programme, Si j'utilise int cela fonctionne, mais pour la chaîne ce n'est pas le cas.Java: faire pendant que le problème de chaîne

import java.util.Scanner; 

public class userinput_swutch_do_while { 

    public static void main(String[] args) {  

     String password= null; 
     Scanner value = new Scanner(System.in); 
     do { 
      System.out.println("Enter the password for ATM: "); 
      password = value.nextLine(); 
      System.out.println("You put : "+password); 

     } while (password !="55"); 


     System.out.println("You got it!"); 

    } 

} 
+4

double possible de [? Comment puis-je comparer les chaînes en Java] (http://stackoverflow.com/questions/513832/how-do-i-compare -strings-in-java) –

Répondre

0

En JAVA, l'égalité de chaîne est testé correctement en utilisant equals() ou equalsIgnoreCase();
Cela étant dit, vous pouvez essayer ceci:

import java.util.Scanner; 

public class userinput_swutch_do_while { 

public static void main(String[] args) {  

    String password= null; 
    Scanner value = new Scanner(System.in); 
    do { 
     System.out.println("Enter the password for ATM: "); 
     password = value.nextLine(); 
     System.out.println("You put : "+password); 

    } while(!(password.equals("55")));// string equality 


    System.out.println("You got it!"); 

    } 

} 
+0

Merci pour votre réponse, j'ai essayé avec equals() ou equalsIgnoreCase(); mais ma question est si de toute façon nous pouvons utiliser "==" ou "! =" pour ce programme particulier? –

+0

S'il répond à votre question, marquez-le comme étant répondu; par la façon dont vous êtes les bienvenus –

+0

"==" et "! =" comparer les objets de référence (à peu près), alors que le contenu est vrai pour une réponse rapide –