这是代码:
Scanner reader = new Scanner(System.in);
while (true) {
System.out.print("Type a word: ");
String word = reader.next();
if (word.isEmpty()) {
break;
}
}
即使我在break;
语句中有if
,它仍然在我输入空字符串后仍然运行。我错过了什么?
答案 0 :(得分:3)
假设“reader”是Scanner实例,请尝试
String word = reader.nextLine();
这样,当你用空字符串按Enter键时,扫描仪将返回。
答案 1 :(得分:0)
你怎么知道你的字符串是空白的?你输入没有输入任何内容?你怎么知道读者没有把新行字符放入字符串中导致它不为空?读完后立即打印读入字符串的长度;你可能会很快发现为什么isEmpty()返回false ..