2 回答

TA貢獻1818條經驗 獲得超3個贊
語句中沒有break,while所以你進入無限循環。
我用一個簡單的System.out.println. 看一下新的while條件,當接收到一個空字符串時它會退出while語句:
Scanner sc = new Scanner(System.in);
String line;
while (!(line = sc.nextLine()).isEmpty()) {
System.out.println("Received line : " + line);
//textEditor.addString(line);
}
sc.close();
System.out.println("The end");

TA貢獻1773條經驗 獲得超3個贊
您可以使用 break 語句跳出循環:
while (sc.hasNextLine()) {
String line = sc.nextLine();
if (!(line.isEmpty())){
textEditor.addString(line);
} else {
break;
}
}
textEditor.printAll();
(順便說一句,不要關閉標準輸出、標準錯誤或標準輸入,即在 Java 中:System.out、System.err 和 System.in)
添加回答
舉報