2010-09-15 6 views
3
import java.io.*; 

public class TerminateWhen 
{ 
    public static void main(String args[]) throws IOException 
    { 
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 

    String str = ""; 
    System.out.println("Type \"x\" to exit.."); 
    do { 
     str = br.readLine(); 
     System.out.println(str); 
     } 
    while(str!="x"); 
    } 
} 

le problème est même si tapera le "x", la boucle ne sortira pas ..Java Buffered Lecteur

+0

Voir http://stackoverflow.com/questions/971954/difference-between-equals-and –

Répondre

5

Essayez !str.equals("x") !!!

+4

Si j'avais un octet de RAM, pour chaque fois que cette question a été répondu. .. – st0le

5

Méfiez-vous des opérateurs de comparaison "standard" lorsque vous travaillez avec des chaînes.

str != "x" 

compare les deux références, pas le contenu de la chaîne. Utilisez la méthode "equals" pour comparer le contenu de la chaîne.

1

Vous devez vérifier equals()

Questions connexes