Ich erinnerte mich plötzlich an Googles 15-Minuten-Regel Ich habe versucht zu sehen, ob es in Java als Timer beschrieben werden kann
Ich habe mir die erfrischende Einführung in Java, die ich gerade lese, nicht ausgedacht, daher möchte ich die API sehen oder auf Qiita verweisen. Es ist ungefähr 2 Wochen her, seit ich angefangen habe, Java zu lernen, also habe ich versucht, den Code aufzuteilen
Main
import java.util.*;
public class Main {
static Scanner inp = new Scanner(System.in);
public static void main(String[] args) {
try {
System.out.print("Lassen Sie uns einen Bomben-Timer einrichten(sec): ");
int sec = inp.nextInt();
BombTimer.Bomb(sec);
} catch (InputMismatchException e) {
System.out.println("Die Eingabe ist falsch.");
} finally {
inp.close();
}
}
}
BombTimer
import java.util.*;
public class BombTimer {
public static void Bomb(int sec) {
System.out.println("Bis zur Explosion" + sec + "Sekunden");
Timer timer = new Timer();
TimerTask task = new TimerTask() {
int secCount = sec - 1;
@Override
public void run() {
if (secCount > 0) {
if (secCount <= 60 && secCount % 10 == 0) {
System.out.println("verbleibend" + secCount + "Sekunden");
} else if (secCount == 5) {
System.out.println(secCount + "Sekunden zuvor");
} else {
System.out.println(sec);
}
} else {
System.out.println("Doka --------");
System.exit(0);
}
secCount --;
}
};
timer.sucheduleAtFixedRate(task, 1000, 1000);
}
}
Das Ausführungsergebnis ist wie folgt
Ergebnis
Richten Sie einen Bomben-Timer ein(sec): 13
Noch 13 Sekunden bis zur Explosion
12
11
Noch 10 Sekunden
9
8
7
6
Vor 5 Sekunden
4
3
2
1
Doka --------!
Was ich diesmal gelernt habe
[Java] Implementierungsmethode für die Timer-Verarbeitung
Ich habe es herausgefunden, aber ich weiß immer noch nicht die richtige Antwort. Sollte es eine if-Anweisung oder eine switch-Anweisung sein? Ist die Ausnahmebehandlung obligatorisch? Ich habe kein Ende meiner Zweifel. .. ..
Bitte zögern Sie nicht, auf Punkte hinzuweisen, die Sie bemerken.
Recommended Posts