Java lernen: Verwenden Sie Timer, um so etwas wie einen Bomben-Timer zu erstellen

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

Ich habe es als Referenz verwendet

[Java] Implementierungsmethode für die Timer-Verarbeitung

Zusammenfassung

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

Java lernen: Verwenden Sie Timer, um so etwas wie einen Bomben-Timer zu erstellen
[Java] Erstellen Sie so etwas wie eine Produktsuch-API
Implementieren Sie so etwas wie einen Stack in Java
Lassen Sie uns mit Javas Timer einen zeitgesteuerten Prozess erstellen! !!
Versuchen Sie, ein Bulletin Board in Java zu erstellen
[Java] Erstellen Sie einen Filter
So erstellen Sie eine Java-Umgebung in nur 3 Sekunden
Ich möchte so etwas wie "cls" in Java machen
Ich habe versucht, eine Clova-Fähigkeit in Java zu erstellen
So erstellen Sie einen Daten-URI (base64) in Java
Ich habe versucht, mit Chocolatey eine Java8-Entwicklungsumgebung zu erstellen
[Java] Verwendung von Map
Bedingte Java-Verzweigung: Erstellen und Studieren von switch-Anweisungen
So erstellen Sie ein Platzhalterteil zur Verwendung in der IN-Klausel
Erstellen Sie eine Java-Methode [Memo] [java11]
Verwendung der Java-Klasse
[Java] Verwendung von removeAll ()
[Java] Erstellen Sie eine temporäre Datei
Verwendung von Java Map
[Java] Gründe für die Verwendung von statischen
Verwendung von Java-Variablen
So erstellen Sie eine Methode
Eine Geschichte über Missverständnisse im Umgang mit Java-Scannern (Memo)
[Enum_help] Verwenden Sie enum_help, um ein Auswahlfeld zu erstellen, das auf Japanisch angezeigt wird!
Erstellen wir eine TODO-App in Java 13 TODO-Formularvalidierung 1: Zeichenbegrenzung · Gradle-Update zur Verwendung von @Validated
So erstellen Sie ein neues Gradle + Java + Jar-Projekt in Intellij 2016.03
Verwenden Sie Jenkins, um in Docker zu erstellen und dann ein Docker-Image zu erstellen.
So lernen Sie Java Silver SE 8
Verwendung von HttpClient (Get) von Java
Vorbereiten der Erstellung einer Rails-Anwendung
So erstellen Sie einen Java-Container
Verwendung von HttpClient (Post) von Java
[Java] Verwendung der Join-Methode
[Verarbeitung × Java] Verwendung von Variablen
Erstellen Sie ein Java-Projekt mit Eclipse
[JavaFX] [Java8] Verwendung von GridPane
Verwendung von Klassenmethoden [Java]
[Java] Verwendung von List [ArrayList]
Wie verwende ich Klassen in Java?
[Verarbeitung × Java] Verwendung von Arrays
So erstellen Sie ein Java-Array
Verwendung von Java-Lambda-Ausdrücken
[Java] Verwendung der Math-Klasse
Verwendung des Java-Aufzählungstyps
So erstellen Sie eine Zip-Datei beim Gruppieren von Datenbanksuchergebnissen in Java
Ich möchte mit Jakarta EE 8 mit Java 11 ein dunkles Web-SNS erstellen
[Java] So verwenden Sie Teilzeichenfolgen, um einen Teil einer Zeichenfolge auszuschneiden
[Java] Verwenden Sie jsoup, um über einen Proxy, der eine Authentifizierung erfordert, auf HTTPS zuzugreifen
Hanashi stolperte ein wenig auf dem Weg, Java mit VScode zu studieren
[Java] Erstellen und Anwenden eines Folienmasters
So erstellen Sie eine Java-Kalenderzusammenfassung
Ein Memorandum zur Verwendung von Eclipse
Mehrsprachige Unterstützung für Java Verwendung des Gebietsschemas
Gibt an, ob Java Comparable oder Comparator verwendet werden soll
Verwenden Sie TMDA, um IBM Java Javacore zu analysieren