Mein Problem ist, dass ich brauche eine Uhr in meinem Code enthalten sein. Das Problem ist, dass ich nicht weiß, wie ich jede Sekunde inkrementiere, ohne den ganzen Code zu pausieren. Kann jemand mir einen besseren Weg sagen, oder kann mir jemand sagen, wie viele Sekunden pro Sekunde eine Variable in Java erhöhen kann, kann ich einfach% verwenden, um zu berechnen, wie oft die Uhr erhöht werden muss.Wie mache ich es so, dass Variable jede Sekunde im Hintergrund erhöht
Code:
int miniseconds = 0;
int seconds = 00;
int minutes = 00;
int hours = 00;
int day = 1;
int month = 1;
int years = 2280;
int yearLeap = years % 4;
long i;
for (i = 1000000000; i>0; i--){
seconds ++;
try{
Thread.sleep(1000);//2000ms = 2s
}catch(InterruptedException ex){
}
if (seconds == 60){
minutes ++;
seconds =0;
}
if (minutes == 60){
hours++;
minutes = 0;
}
if (hours == 24){
day++;
hours = 0;
}
if (month == 1 && day == 32){
month ++;
day = 1;
}
if (month == 2 && day == 30 && yearLeap == 0) {
month ++;
day = 1;
}
if (month == 2 && day == 29 && yearLeap != 0){
month ++;
day = 1;
}
if (month == 3 && day == 32){
month ++;
day = 1;
}
if (month == 4 && day == 31){
month ++;
day = 0;
}
if (month == 5 && day == 32){
month ++;
day = 0;
}
if (month == 13){
month = 1;
years ++;
}
String date = "The current time is: " +day+ "/" +month+ "/" +years+ " " +hours+ ":" +minutes+ ":" +seconds;
}
Hier wäre eine Javax.Swing.Timer-Klasse von Vorteil http://www.asjava.com/swing/java-timer-tutorial/ –
oder 'ScheduledExecutorService' –
Während ein' ScheduledExecutorService' dies tun würde, Haben Sie darüber nachgedacht, einfach 'java.time.Clock' zu verwenden? – slim