【发布时间】:2016-11-28 20:11:46
【问题描述】:
我需要能够仅在用户输入内容时中断 while 循环。否则循环应该继续。
我尝试使用if (scanner.nextLine()),但这会导致循环等待,直到输入某些内容后再继续。
在输入内容之前如何保持循环继续?
while (true) {
if (scanner.nextLine()) {
// statements
}
// standard loop statements
}
【问题讨论】:
-
嗯,一个
break怎么会跳出循环... -
可能只是将
while(true)改为while(!scanner.hasNext())。 -
hasNext() 正在阻塞。一般来说,阻塞 IO 不是你想要的。不如检查文件是否存在?
-
通常从控制台读取应该停止负责它的线程,但是如果你想独立地做其他事情,请在其他线程中执行它们。您可以将循环放在那里并执行,直到要求中断线程为止。无论如何,正确的解决方案需要正确的问题描述,所以我现在只能说。
-
我可以把你送到这里,但这可能会产生比你需要的更多的问号。 stackoverflow.com/questions/18037576/…
标签: java while-loop java.util.scanner