2014-03-05 78 views
0

我想創建一個簡單的掃描儀測試程序,一旦用戶輸入「退出」將退出。Java掃描儀類 - 無法退出while循環

我有變量輸出到控制檯,它會輸出退出,但是當我試圖比較變量與原始字符串它不會看到它爲真。

public static void main(String[] args) { 

    String input; 
    Scanner sc; 

    System.out.println("Enter 'Quit' to exit."); 

    while (true) { 
     sc = new Scanner(System.in); 
     input = sc.nextLine(); 
     if (input == "Quit") { 
      break; 
     } 
     System.out.println(input); 
    } 

    sc.close(); 
} 

回答

1

您需要與equals()方法不==操作

if (input.equals("Quit")) { 
      break; 
     } 
+0

謝謝:D爲什麼「==」不起作用? – TheShinyTuxedo

+0

@TheShinyTuxedo ==操作符用於比較對象 – Nambi

+0

==將比較對象的引用,這是它無法比較的原因。 – Gundamaiah

1

使用恆等於比較字符串比較字符串。

==將比較引用。