Scanner scanner = new Scanner(system.in);
String input = new String();
while(!input.equalsIgnoreCase("stop")) {
input = scanner.nextLine();
}
爲什麼這不起作用?循環持續到永遠。我曾經使用過這種方法一百萬次,現在它不會工作。字符串檢查while循環無法正常工作
編輯**
好吧我使用JGrasp(因爲這是我的教授希望我們使用) ,當我想這在NetBeans它工作得很好......
EDIT2 **
首先,我不確定這是否是問題,但在我的代碼中,我有類似於主 開始掃描儀掃描儀=新的掃描儀(文件); 而後來就像這樣 scanner = new Scanner(System.in); 這就是之前代碼片段的起點。所以我首先通過主要調用一個新的方法來改變這個區域,我需要帶有字符串檢查的while循環。我也重新格式化了循環:
Scanner scanner = new Scanner(System.in);
String input = new String();
while(!input.contains("stop")) {
System.out.print("Enter an option: ");
input = scanner.nextLine();
}
現在它工作正常。
EDIT3 **
所以我嘗試了新方法內的原始格式,它也完美的作品。我現在認爲它與我如何爲文件掃描器有關,然後重新使用System.in的新掃描器對象的引用。我不是100%,但是把while循環移到了它自己的方法中,而不是保持它的主要工作狀態,所以我覺得它與此有關。
輸入線具有精確等於「停止」。它不能有額外的選項卡,空間,不可打印的Unicode字符或其他任何內容。 –
只是猜測 - input.trim()。equalsIgnoreCase(「停止」)? –
適用於我... –