[英]Terminating Java User Input While Loop
我正在学习 Java 第一天,我有一个非常简单的代码。
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
while(input.hasNext()) {
String word = input.next();
System.out.println(word);
}
}
在我输入任何句子后,while 循环似乎没有终止。 我需要如何更改它,以便在句子全部读完时我可以跳出循环?
hasNext()
方法总是检查Scanner
在其输入中是否有另一个令牌。 Scanner 使用默认匹配空格的分隔符模式将其输入分解为标记。
(\t)
、换行符(\n)
和更多其他字符 hasNext()
检查输入,如果它有另一个非空白字符,则返回 true。
如果您想连续从控制台获取输入,您的方法是正确的。 但是,如果您只想拥有单个用户输入(即一个句子或单词列表),最好阅读整个输入,然后相应地对其进行拆分。
例如:-
String str = input.nextLine();
for(String s : str.split(" ")){
System.out.println(s);
}
好吧,一个简单的解决方法是在您找到停止或任何您想要的字符串时停止!
Scanner input = new Scanner(System.in);
while (input.hasNext()) {
String word = input.next();
if (word.equals("stop")) {
break;
}
System.out.println(word);
}
input.close();
System.out.println("THE END!");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.