【发布时间】:2019-01-10 18:06:55
【问题描述】:
我正在尝试构建一个循环,当我在控制台中输入文本时执行一个特定的方法。 我想使用 java.util.Scanner 但是当我尝试使用 .hasNext() 来检查 if() 然后 .next() 来获取输入时,它会等到我输入一些东西而不是循环。
while(true) {
main_loop();
}
private void main_loop() {
do_other_things();
if(sc.hasNext()){
System.out.println("user entered " + sc.next());
} else {
System.out.println("user entered nothing");
}
}
如何让它输出“用户没有输入任何内容”,直到我输入一些内容,以便它输出“用户输入的 [...]”,然后继续输出“用户没有输入任何内容”?
【问题讨论】:
-
扫描仪就是这样工作的。它等待正确的输入,阻塞线程。我建议使用
new Thread()。 -
您需要为此使用第二个线程,一个用于保持 while 循环
标签: java while-loop console java.util.scanner