使用 HasNextLine() 时 Java while 循环不会中断

问题描述 投票:0回答:1

我知道有类似的问题,但我的 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 语句,当下一行为空时,该语句应该中断循环,但它不会中断。

java while-loop java.util.scanner
1个回答
0
投票

当您在不输入任何文本的情况下按“Enter”键时,循环终止。所以,如果你写一个字符串并按回车键,循环就会迭代;如果您再次按 Enter 键而不输入任何内容,它将终止。

© www.soinside.com 2019 - 2024. All rights reserved.