Dies ist eine alte Version des Dokuments!


Zustandsdiagramme

Uhr u = new Uhr();
 
// Die Timer-Klasse führt die Methode run des Objekts u
// alle 1000 ms immer wieder aus:
Timer.repeat(u, 1000); 
 
 
public class Uhr implements Runnable {
 
   int zustand = 1;
   int sekunden = 0;
   int minuten = 0;
 
 
   public void drückeS() {
 
      if(zustand == 1) {
         zustand = 2;
         // Uhr starten
         return;
      }
 
      if(zustand == 2) {
 
         zustand = 3;
         // Zwischenstopp
         return;
 
      }
 
      if(zustand == 3) {
         zustand = 2;
         // wieder starten
         return;
      }
 
      ausgabe();
 
   }
 
   public void drückeR() {
 
      zustand = 1;
      // reset
      sekunden = 0;
      minuten = 0;
 
      ausgabe();
      return;
 
   }
 
   // Diese Methode wird alle 1000 ms immer wieder
   // von der Klasse Timer ausgeführt (siehe ganz oben!). 
   public void run() {
 
      if(zustand == 2) {
 
         sekunden++;
 
         if(sekunden == 60) {
            minuten++;
            sekunden = 0;
         }
 
      }
 
      ausgabe();
 
   }
 
   public void ausgabe() {
      System.clearScreen();
      println(minuten + " : " + sekunden);
   }
 
}
Drucken/exportieren
QR-Code
QR-Code schule:klassen:2019:10abc:zustandsdiagramme (erstellt für aktuelle Seite)