我想知道是否有人能够看到我在这里做错了什么。我正在尝试创建一个计时器,它将计数变量每秒递增1并在控制台上打印出来。但是,它打印第一个数字然后停止,我不确定发生了什么。
import java.util.Timer;
import java.util.TimerTask;
public class TimerTest {
private Timer timer;
public int count = 0;
public TimerTest() {
timer = new Timer();
timer.schedule(new TimerListener(), 1000);
}
private class TimerListener extends TimerTask {
@Override
public void run() {
count++;
System.out.println(count);
}
}
public static void main(String[] args) {
new TimerTest();
}
}
我确实找到了其他类似的问题,但他们的解决方案都没有对结果产生任何影响。
感谢。
答案 0 :(得分:5)
您的计划只运行一次任务。您需要添加参数才能使用方法schedule(TimerTask task, long delay, long period):
timer.schedule(new TimerListener(), 1000, 1000);