何らかの理由で、関数によって一貫した 3600 が返されます。
private static long getCountdownLeft() {
long now = System.currentTimeMillis();
long elapsedMillis = now - initialTime; //difference of current 'current' time
long millisLeft = secondsOfGame * 1000 - elapsedMillis;
return millisLeft/1000;
}
public static void Main(String[] args ) {
System.out.println("Time is " + getCountdownLeft());
}
private static int secondsOfGame = 3600;
private static long initialTime = System.currentTimeMillis();
これはイベント駆動型です。関数を呼び出すたびに時間の違いが見られると思います。main を使用して、それを呼び出していることを示しているだけです。