Stoppuhr in der Konsole mit Endwert


Bei unserem letzen Post haben wir die Entwicklung eines Stoppuhr in der Konsole unternommen. Jetzt möchte ich mit euch, wie Versprochen, ein Stoppuhr in der Konsole Entwickeln die nicht Unendlich zählen wird sondern in der Lage sein wird vom Benutzer ein Endwert zu verlangen mit dem er den Aktuellen Zeit vergleichen wird. Falls die Aktuelle Sekunde mit der Endwert des Benutzers übereinstimmt wird das Programm beendet.

So sieht das Programm aus:


00  import java.util.Scanner;
01
02  public class Stoppuhr {
03
04      public static void main(String[] args) {
05
06      long zeit;
07      long endzeit;
08      Scanner endzeitEingabe = new Scanner(System.in);
09      System.out.println("Geben Sie die Endzeit an:");
10      endzeit = endzeitEingabe.nextLong();
11      long startzeit = System.currentTimeMillis() / 1000;
12      while (true) {
13         try {
14            Thread.sleep(1000);
15         }
16         catch (InterruptedException e) {
17            break;
18         }
19      zeit = System.currentTimeMillis() / 1000 - startzeit;
20      System.out.println(zeit);
21      if(zeit == endzeit) {
22         System.exit(0);
23        }
24      }
25    }
26  }


Wir haben zum Vergleich zu unseren Vorherigen Beispiel, welches Du >>hier<< sehen kannst, nicht vieles geändert. Ich möchte deshalb hier nur die Neuen Funktionen erörtern. In der Zeile 7 habe ich eine neue Variable mit dem Namen „endzeit“ mit dem Primitiven Datentyp „long“ initialisiert. Danach ermöglichen wir dem Benutzer die Eingabe von Zahlen in die Konsole mit der Funktion Scanner. Zwischen der Zeilen 8 und 10 geschieht die Eingabe des Endwerts. Mit diesem Grenzwert geht der Compiler in die, an der Zeile 12 stehenden, While Schleife. Die Bedingung dieser Schleife lautet true was heißt, dass diese Schleife endlos ist. Erst ab Zeile 21 macht sich die Variable endzeit von Benutzung in dem sie mit der Vergleichsoperation und der Verzweigung mit dem Aktuellen Zeit verglichen wird. Falls diese beide Werte übereinstimmen wird das Programm beendet und somit auch das aufzählen. Falls aber diese nicht miteinander übereinstimmen wird die while-Schleife fortgesetzt.

Mögliche Ausgabe des Programms:

Geben Sie die Endzeit an: 10

1
2
3
4
5
6
7
8
9
10

Kommentare

Beliebte Posts aus diesem Blog

How can I transform a .jar file to a .bat file?

Ein Kleines Spiel mit Altersabfrage

Zufallszahlen und Verzweigungen in Python