经过一段时间后,用Java打印一些东西

时间:2013-08-28 02:59:01

标签: java timer

我正在为我的Java类开发一个文本冒险游戏,并且在尝试计时打印声明时,我遇到了一个问题。

基本上45秒后我想要一个打印声明显示,在这种情况下,print语句会提醒用户他们需要让他们的虚拟狗出去......

我还需要在用户提供正确的命令后重置计时器。

5 个答案:

答案 0 :(得分:7)

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

Timer

TimerTask

要取消定时器,要么使用TimerTask变量来记住任务,然后调用其cancel()方法,要么使用timer.purge();后者取消了计时器上的所有任务。要重新安排任务,请重复。

您可能希望将来进行更多高级操作,因此阅读Timer API文档是一个好主意。

答案 1 :(得分:2)

 Timer timer = new Timer();
 timer.schedule(new TimerTask(){
    public void run() {
       System.out.println(" let the virtual dog out ");
    }
  }, 45000);

答案 2 :(得分:2)

尝试在新线程中运行。

new Thread(new Runnable()
{
    public void run()
    {
        Thread.sleep(45000);
        System.out.println("My message");
    }
})
.run();

这应该有用。

答案 3 :(得分:0)

告诉线程休眠45秒,这里有一个教程:

http://docs.oracle.com/javase/tutorial/essential/concurrency/sleep.html

答案 4 :(得分:0)

告诉主线程睡眠可能不太理想,因为它会导致程序基本停止。使用另一个线程(需要做一点多线程)来计时输出,并检查是否应该在45秒后打印消息。