Stoppuhr in der Konsole
Zunächst
möchte ich mit euch zusammen eine ConsoleApplication entwickeln
welches nur eine Aufgabe zu erledigen hat. Diese ist natürlich das
Aufzählen der Natürlichen Zahlen. Also ist eine Stoppuhr.
01
public
class
Stoppuhr
{
02
03 public
static void
main(String[] args) {
04 long
zeit;
05 long
startzeit
= System.currentTimeMillis()
/ 1000;
06 while
(true)
{
07
try
{
08 Thread.sleep(1000);
09
}catch
(InterruptedException
e) {
10 break;
11
}
12
zeit
=
System.currentTimeMillis()
/ 1000 - startzeit;
13
System.out.println(zeit);
14 }
15 }
16
}
Vielleicht
denkt ihr jetzt, dass eine Erklärung oder eine Zusammenfassung der
Schritte unnötig ist jedoch möchte ich die Neueinsteiger und
ebenfalls wie die Erfahrenen kommilitonen gleich behandeln.
Zunächst
starten wir wir gewöhnlich unser Programm immer mit der Entwicklung
einer Klasse, welches in unserem Fall Stoppuhr heißt. Nachdem wir es
unternommen haben, definieren wir unsere Main-Methode (Zeile 3). In
der Zeile 4 und 5 initialisieren wir die beiden Variablen „zeit“
und „startzeit“ mit dem primitiven Datentyp long. Diesen Datentyp
haben wir sehr selten besprochen und die Erklärung mit einem
Beispiel könnt ihr >>hier<< lesen. In der Zeile 4
deklarieren wir unsere Variable „startzeit“ mit dem vom System
steuerten Methode „System.currentTimeMillis()“
Diese Methode gibt die Zeit in Sekunden aus weshalb wir es durch 1000
teilen.
Ab
Zeile 6 beginnt unsere while-Schleife welches stets die Bedingung
„true“ besitzt. Das heißt, dass die Schleife endlos ist. Ist
auch für den Anfang unsers Code sinnvoll weil wir eine Stoppuhr
haben die keine Endzeit besitzt. Demnächst werde ich ein Programm
schreiben welches ein Stoppuhr beinhaltet mit einem bestimmten
Endzeit. Danach eine Stoppuhr als GUI. Danach versuchen wir zwischen
Zeile 7 und 11 mit try and catch die Abfragen in der Zeile 8 und 9 zu
durchführen. Falls nichts dazwischen kommt, fängt das Programm mit
der ersten Zahl an zu zählen. Da wie beginn des Programm die
Variable „zeit“ mit keinem Wert deklariert haben, geht Java davon
aus, dass diese den Wert 0 besitzt. In der Zeile 12 wird das 1/1000
von der Aktuellen Zeit in Sekunden – der Wert des 1/1000 von der
vergangenen Sekunden subtrahiert. Danach wird diese in der Konsole
ausgegeben. Dies geschieht in der Zeile 13.
Beispiel:
Wir
Starten ab 10:00:00 Minuten an zu zählen. Das ist der Startwert.
Wenn
wir 10:00:01 Minuten also eine Sekunde haben, wird diese natürlich
wie in der Zeile 12 schon erklärt mir 10:00:01 – 10:00:00
Subtrahiert. Danach bekommen wir das Ergebnis 1 raus. Nach zwei
Sekunden ist die Aktuelle Zeit 10:00:02 Also wird 10:00:02 –
10:00:00 = 2 ausgegeben.
Da
dies eine Endlos Schleife ist, wird der Compiler erst dann mit dem
Zählen beginnen wenn es Abstürzt, vorzeitig beendet wird oder Die
Grenze des Datentyps long erreicht hat.
Der
Wertebereich, von
„long“,
liegt -9223372036854775808 bis 9223372036854775807.
Also
wenn der Compiler die 9223372036854775807´te
Sekunde erreicht wird das Programm abstürzen. Das ist Ungefähr 3,7
* 10 ^ 17 Stunden. Da im Regulären Betrieb ein Programm nie solange
laufen wird, sagen wir endlos dazu Obwohl es nicht so ist.
Die Ausgabe unsers Programm lautet wie folgt.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
.
.
.
.
.
.
Kommentare
Kommentar veröffentlichen