static int N = 5;
public static void randomN () {
myTimer.scheduleAtFixedRate(new TimerTask() {
public void run() {
if(N > 0)
{
N--;
}
else myTimer.cancel();
...
some math stuff in here like addition...
if ( N == 1 ) {
System.out.println( a + requests"); }
}, 0, 1000);
我用上面的代码得到了我想要的结果。但我实际上希望我的计时器从30秒开始下降。我希望它循环30秒。在尝试时,我注意到当我编码if(requestTime == 0)并在其中执行相同的操作时,我总是得到2次打印。这就像我的代码在停止之前再运行一次。但是当我用1做它时效果很好,除了我不确定它是否给我的工作时间恰好是5秒还是早于5秒停止? 0是什么原因导致问题?