2017-05-18 110 views
-1

したがって、Scannerクラスを使用してユーザー入力を読み取ろうとしています。 10秒後に次のコードブロックに移動するようにする簡単な方法はありますか?ありがとうユーザー入力(スキャナ)の時間制限を設定するJava

+0

getCharacters()を使用してください。代わりに。これを確認してください:https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/TextField.html#getCharacters-- –

+0

@PetroGordiyevichお話はありますか? – shmosel

+0

申し訳ありませんが、間違った質問に回答しました。 –

答えて

0

タイマーとタイマータスクを使用できます。 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

関連する問題