如何在Java中等待输入?
Scanner s = new Scanner() ;
s.nextInt();
//here break without input
我想创建while循环,你可以输入5分钟的东西。 5分钟后循环应该休息。但是当剩下时间时,循环不会再做,但扫描仪仍在等待输入并进入。
我想退出等待输入,我不是说打破循环。
答案 0 :(得分:0)
如果我正确理解你的问题,这就是你想要的:
import java.util.Scanner;
import java.util.concurrent.FutureTask;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
public class Testes {
public static void main(String[] args) throws Exception {
try {
while (true) {
System.out.println("Insert int here:");
Scanner s = new Scanner(System.in);
FutureTask<Integer> task = new FutureTask<>(() -> {
return s.nextInt();
});
Thread thread = new Thread(task);
thread.setDaemon(true);
thread.start();
Integer nextInt = task.get(5, TimeUnit.MINUTES);
System.out.println("Next int read: " + nextInt + "\n----------------");
}
} catch (TimeoutException interruptedException) {
System.out.println("Too slow, i'm going home");
System.exit(0);
}
}
}