states:zut_to_java:zehntelsekundenloesung:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
— | states:zut_to_java:zehntelsekundenloesung:start [2024/08/31 12:03] (aktuell) – angelegt - Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ===== Lösung zu Aufgabe 4: Stoppuhr mit Zehntelsekundenanzeige und Zwischenzeitmessung ===== | ||
+ | {{ youtube> | ||
+ | Jetzt bist Du dran! Erweitere das Stoppuhr-Programm folgendermaßen: | ||
+ | * Die Stoppuhr soll die verstrichene Zeit in Sekunden und Zehntelsekunden anzeigen. Die Anzeige 16:8 bedeutet also z.B. 16 s und 8 Zehntelsekunden. | ||
+ | * Die Stoppuhr soll über eine Funktion zur Zwischenzeitanzeige verfügen, die mit der Taste z bedient wird. Details dazu kannst Du [[: | ||
+ | |||
+ | Damit Du möglichst gut zurechtkommst, | ||
+ | |||
+ | - Benenne das Attribut '' | ||
+ | - Ändere die Methode '' | ||
+ | - Ändere die Methode '' | ||
+ | - Teste Dein Programm! | ||
+ | - Schau' Dir das [[: | ||
+ | - Schreibe die Methode '' | ||
+ | - Obwohl auf den blauen Pfeilen auch vom Drücken der Tasten s und r die Rede ist, müssen die Methoden '' | ||
+ | - Teste Dein Programm abermals! | ||
+ | - Erweitere die Methode '' | ||
+ | - Erweitere die Methode '' | ||
+ | - Teste Dein Programm! | ||
+ | - Mach einen Rechtsklick auf den Dateinamen Deines Programms und wähle im Kontextmenü "Als Hausaufgabe markieren" | ||
+ | - Fertig! | ||
+ | |||
+ | < | ||
+ | <div class=" | ||
+ | <script type=" | ||
+ | Stoppuhr s = new Stoppuhr(); | ||
+ | |||
+ | class Stoppuhr extends Actor { | ||
+ | |||
+ | int zustand; | ||
+ | |||
+ | int zähler = 0; | ||
+ | int zehntelsekunden = 0; | ||
+ | |||
+ | |||
+ | Text ausgabe; | ||
+ | |||
+ | | ||
+ | super(); | ||
+ | zustand = 1; | ||
+ | ausgabe = new Text(400, 300, 64, "" | ||
+ | ausgabe.setAlignment(Alignment.center); | ||
+ | zeitausgeben(); | ||
+ | schreibeZustand(); | ||
+ | } | ||
+ | |||
+ | | ||
+ | if(key == " | ||
+ | | ||
+ | } | ||
+ | if(key == " | ||
+ | | ||
+ | } | ||
+ | if(key == " | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | |||
+ | | ||
+ | if(zustand == 2 || zustand == 4) { | ||
+ | | ||
+ | | ||
+ | zähler = 0; | ||
+ | zehntelsekunden++; | ||
+ | zeitausgeben(); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | void zeitausgeben() { | ||
+ | |||
+ | if(zustand != 4) { | ||
+ | int zs = zehntelsekunden % 10; | ||
+ | int s = zehntelsekunden / 10; | ||
+ | |||
+ | | ||
+ | } | ||
+ | | ||
+ | } | ||
+ | |||
+ | void tasteSDrücken() { | ||
+ | if(zustand < 3) { | ||
+ | | ||
+ | } else { | ||
+ | | ||
+ | } | ||
+ | schreibeZustand(); | ||
+ | } | ||
+ | |||
+ | void tasteRDrücken() { | ||
+ | zustand = 1; | ||
+ | zehntelsekunden = 0; | ||
+ | zeitausgeben(); | ||
+ | schreibeZustand(); | ||
+ | } | ||
+ | |||
+ | void tasteZDrücken() { | ||
+ | if(zustand == 2) { | ||
+ | | ||
+ | } else if(zustand == 4) { | ||
+ | | ||
+ | } | ||
+ | schreibeZustand(); | ||
+ | } | ||
+ | |||
+ | void schreibeZustand() { | ||
+ | if(zustand == 1) { | ||
+ | | ||
+ | } else if(zustand == 2) { | ||
+ | | ||
+ | } else if(zustand == 3) { | ||
+ | | ||
+ | } else if(zustand == 4) { | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | |||
+ | } | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||