所以我尝试使用Scanner类读取用户输入。是否有一种简单的方法可以使它在10秒后移动到下一个代码块?谢谢
答案 0 :(得分:1)
您可以使用Timer和TimerTask。 TimerTask允许您在一定时间后运行任务,在这种情况下,您可以使用此任务停止等待用户。
import java.util.Timer;
import java.util.TimerTask;
...
TimerTask task = new TimerTask()
{
public void run()
{
if( str.equals("") )
{
System.out.println( "you input nothing. exit..." );
System.exit( 0 );
}
}
};
...
Timer timer = new Timer();
timer.schedule( task, 10*1000 );
Scanner sc = new Scanner(System.in);
String in = sc.readLine();
timer.cancel();
因此,如果用户在10秒内没有响应,则计时器将退出读取输入。我从最初的帖子中窃取/调整了这个回复: Time limit for an input