2010-09-15 61 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"); 
    } 
} 

的問題是,即使將鍵入的「X」,循環不會退出..Java的緩衝讀者

+0

見http://stackoverflow.com/questions/971954/difference-between-equals-and – 2010-09-15 07:38:00

回答

5

嘗試!str.equals("x")

+4

如果我有RAM的字節,每一個這個問題已經回答了時間。 .. – st0le 2010-09-15 08:06:16

5

當您使用字符串時,請注意「標準」比較運算符。

str != "x" 

比較兩個引用,而不是字符串的內容。使用「equals」方法比較字符串內容。

1

您必須檢查equals()