如何在Java中添加循环计时器?

时间:2014-08-07 15:39:06

标签: java loops timer

如何循环此计时器?我想每1秒打印一次。

Timer timer = new Timer();
timer = new Timer(false);
for (int i = 0; i < 10; i++) {
   timer.schedule(new TimerTask() {
      @Override
      public void run() {
         i--;
         System.out.println("Java " + i);
      }
   }, 0, 1000);
}

2 个答案:

答案 0 :(得分:2)

如果它真的是您想要的,请更改

}, 0, 1000);

}, 0, i * 1000);

i = 0置于i = 1,将11置于10或使用<=

它将创建和安排一个新的TimerTask 10次

答案 1 :(得分:0)

好方法是创建自己的TimerTask类。

在您的Main类中,您有这个主要方法:

   public static void main(String[] args) {
        Timer timer = new Timer();
        timer.schedule(new MyTimerTask(10), 1000, 1000);
    }

然后你只需要创建自己的TimerTask类

import java.util.TimerTask;

public class MyTimerTask extends TimerTask {
    private int i2;
    public MyTimerTask(int i2){
        this.i2 = i2;
    }
    @Override
    public void run() {
        System.out.println("heej: " + i2);
    }    
}

这是每秒输出heej: 10


使用您自己的课程,您可以像这样控制那里发生的事情:

import java.util.TimerTask;

public class MyTimerTask extends TimerTask {
    private int i2;
    private int count = 0;

    public MyTimerTask(int i2){
        this.i2 = i2;
    }
    @Override
    public void run() {
        count++;
        System.out.println("heej: " + i2);
        if (count > 10){
            this.cancel();            
        }
    }    
}