设置用户输入(扫描程序)Java的时间限制

时间:2017-05-18 03:24:57

标签: java input time limit

所以我尝试使用Scanner类读取用户输入。是否有一种简单的方法可以使它在10秒后移动到下一个代码块?谢谢

1 个答案:

答案 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