基本上,我有一個int值,x,它是一個類的實例變量。它最初設置爲0。我有另一種方法,「getNum」,增加並返回x。這個getNum()方法由外部程序調用。然而,每一天(比方說,在午夜,爲了簡單起見),我想將x重置爲0.這將如何完成?我現在遇到的問題:Date(int,int,int)已被棄用,但該方法僅使用日期,而不使用日曆; TimerTask事件從不發生;每次我在底部運行程序時,它都會每次打印「0」,即使該數字不應該經常重置。基本上,沒有任何工作。任何想法出了什麼問題?如何在java程序中以固定的時間間隔發生某些事情?
import java.util.*;
class Foo {
private static void scheduleTimer() {
Timer timer = new Timer();
long c = 86400000;
timer.scheduleAtFixedRate(new MyTimerTask(),
new Date(2011, 7, 31), c);
}
public static int getNum() { return x++; }
private static int x = 0;
public static void resetNum() { x = 0; }
}
class MyTimerTask() extends TimerTask {
public void run() {
Foo.resetNum();
}
public class Bar { // in a separate file
public static void main (String[] args) {
System.out.println(Foo.getNum());
}
}
我假設有一個實際的調用scheduleTimer發生在某處? –
也很難從這段代碼中知道實際發生了什麼。如果您的Java應用程序退出,我的理解是該變量值不會持續。如果你期待它,當main()只調用它然後退出時,你的設計出現了問題。 –