這是代碼:While循環不會打破(JAVA)
Scanner reader = new Scanner(System.in);
while (true) {
System.out.print("Type a word: ");
String word = reader.next();
if (word.isEmpty()) {
break;
}
}
即使我有break;
的if
語句中它仍然運行即使我在一個空字符串輸入。我錯過了什麼?
您的讀者在哪裏申報和分配? – MetaColon
首先,學習如何調試 – maszter
'Scanner :: next'從掃描器返回下一個* complete *標記。一個*完整的*標記前後有與分隔符模式匹配的輸入。本質上,'Scanner :: next'等待它獲得_complete_標記。目前,在等待輸入掃描時,「掃描儀::下一個」被阻止。所以它永遠不會進入'if'語句。只要在if語句之前和之後做一個簡單的'println',你就會注意到這種行爲。 –