我知道有类似的问题,但我的 while 循环在使用 HasNextLine() 时超时,并且到目前为止,网上的解决方案都没有修复它。
public static main(String [] args) {
Scanner s = new Scanner(System.in);
int sum = 0;
while (s.hasNextLine()) {
String input = s.nextLine();
if (input.isEmpty()) {
break;
}
// Do other stuff
result += sum;
}
System.out.println(result);
}
我尝试使用 while(!s.equals(SENTINEL)) 在终端中单击 Ctrl-D。另请注意,我有一个 if 语句,当下一行为空时,该语句应该中断循环,但它不会中断。
当您在不输入任何文本的情况下按“Enter”键时,循环终止。所以,如果你写一个字符串并按回车键,循环就会迭代;如果您再次按 Enter 键而不输入任何内容,它将终止。