Benutzer-Werkzeuge

Webseiten-Werkzeuge


states:examples:automat2a:loesung:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.


states:examples:automat2a:loesung:start [2024/08/31 10:03] (aktuell) – angelegt - Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 +===== 2b. Umsetzung als Java-Programm - Lösung=====
 +Setze den in Aufgabe 2 gebauten Automaten in ein Java-Programm um. Gerne kannst Du dafür eine Kopie des Programms aus Aufgabe 1a als Grundlage verwenden! \\ \\ 
 +Hier zur Orientierung das Zustandsübergangsdiagramm, das es umzusetzen gilt:
 +
 +{{ :states:examples:automat2:loesung:pasted:20210131-155242.png?600 }}
 +
 +<HTML>
 +
 +<div class="java-online" style="height: 500px; width: 100%" data-java-online="{'withBottomPanel': false, 'id': 'Automat2'}">
 +
 +<script type="text/plain" title="Automat2.java">
 +Automat1 a1 = new Automat1();
 +String wort = Input.readString("Gib ein aus a's und b's bestehendes Wort ein:");
 +a1.verarbeiteWort(wort);
 +
 +class Automat1 {
 +   
 +   String zustand = "rot";
 +
 +   void tasteADrücken() {
 +      if(zustand == "gelb") {
 +         zustand = "grün";
 +      } else {
 +         zustand = "gelb";
 +      }
 +   }
 +
 +   void tasteBDrücken() {
 +         zustand = "rot";
 +   }
 +
 +   void verarbeiteWort(String wort) {
 +      zustand = "rot";
 +      for(int i = 0; i < wort.length(); i++) {
 +         String buchstabe = wort.charAt(i);
 +         if(buchstabe == "a") {
 +            tasteADrücken();
 +         } else if(buchstabe == "b") {
 +            tasteBDrücken();
 +         }
 +      }
 +
 +      println("Durch das Wort " + wort + " geht der Automat in den Zustand " + zustand + " über.");
 +   }
 +
 +}
 +</script>
 +
 +</div>
 +
 +</HTML>
 +