Java 如果未检测到用户输入,则继续运行

Java 如果未检测到用户输入,则继续运行,java,java.util.scanner,user-input,Java,Java.util.scanner,User Input,这里我编写了一个简单的程序来获取用户输入 Scanner keyInput = new Scanner(System.in); System.out.println("Satisfied? yes or no: "); String decision = keyInput.nextLine(); if(decision.matches("no"){ //code }

这里我编写了一个简单的程序来获取用户输入

    Scanner keyInput = new Scanner(System.in);
    System.out.println("Satisfied? yes or no: ");
    String decision = keyInput.nextLine();

    if(decision.matches("no"){
      
        //code
        
    } else {
        
        keyInput.close();

        //code
    }
如果10秒后没有检测到用户输入,我如何使它跳到else语句?
谢谢

您可以像这样使用计时器和计时器任务:

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();