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