-1
所以我試圖讀取用戶輸入使用掃描儀類。是否有一種簡單的方法可以使它在10秒後移動到下一代碼塊?謝謝設置用戶輸入時間限制(掃描儀)Java
所以我試圖讀取用戶輸入使用掃描儀類。是否有一種簡單的方法可以使它在10秒後移動到下一代碼塊?謝謝設置用戶輸入時間限制(掃描儀)Java
你可以使用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
使用getCharacters()。toString();代替。檢查此:https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/TextField.html#getCharacters - –
@PetroGordiyevich你在說什麼? – shmosel
對不起,回答了錯誤的問題。 –