坐落于用户输入(扫描仪)的Java时限

问题描述 投票:0回答:1

所以我想使用的扫描仪类读取用户输入。有一个简单的方法来让这个它移动到下一个代码块10秒后?谢谢

java input time limit
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.