Java クラスのテキスト アドベンチャー ゲームに取り組んでいます。コンソールに表示される print ステートメントのタイミングを計ろうとしているときに問題が発生しました。
基本的に 45 秒後に print ステートメントを表示したいと思います。この場合、print ステートメントはユーザーに仮想犬を外に出す必要があることを思い出させます...
また、ユーザーが正しいコマンドを実行した後にタイマーをリセットする必要があります。
import java.util.Timer;
import java.util.TimerTask;
...
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
System.out.println("delayed hello world");
}
}, 45000);
タイマーをキャンセルするには、TimerTask 変数を使用してタスクを記憶してからその cancel() メソッドを呼び出すか、またはtimer.purge()
;を使用します。後者は、タイマーのすべてのタスクをキャンセルします。タスクを再度スケジュールするには、繰り返します。
将来、より高度な操作を行いたいと思うかもしれないので、Timer API のドキュメントを読むことをお勧めします。
スレッドに 45 秒間スリープするように指示するだけです。ここにチュートリアルがあります。
http://docs.oracle.com/javase/tutorial/essential/concurrency/sleep.html