虽然循环不会中断(JAVA)

时间:2017-07-28 22:28:04

标签: java java.util.scanner break

这是代码:

Scanner reader = new Scanner(System.in);
while (true) {

    System.out.print("Type a word: ");
    String word = reader.next();

    if (word.isEmpty()) {
        break;
    } 

}

即使我在break;语句中有if,它仍然在我输入空字符串后仍然运行。我错过了什么?

2 个答案:

答案 0 :(得分:3)

假设“reader”是Scanner实例,请尝试

String word = reader.nextLine();

这样,当你用空字符串按Enter键时,扫描仪将返回。

答案 1 :(得分:0)

你怎么知道你的字符串是空白的?你输入没有输入任何内容?你怎么知道读者没有把新行字符放入字符串中导致它不为空?读完后立即打印读入字符串的长度;你可能会很快发现为什么isEmpty()返回false ..