import java.io.*; /** * Realisiert einen einfachen Fahrkartenautomaten der eine Fahrkarte im Wert von 3 Euro * verkauft. Zuviel gezahltes Geld wird nicht zurück gegeben. * @author David Tepasse * @version 1.0 */ public class Fahrkartenautomat { /** * Liest ein zeichen von der Konsole * @return das eingelesene Zeichen */ public int liesEingabeZeichen() throws java.io.IOException{ DataInputStream rueckgabe = ( new DataInputStream( System.in )); //Erzeugt ein neues Objekt zum einlesen von konsoleneingaben String wert = rueckgabe.readLine(); //Speichert Konsoleneingabe in String return Integer.parseInt(wert); } /** * Hier soll die Uebergangsfunktion realisiert werden. In Abhängigkeit von Zustand und Eingabe * wird der neue Zustand zurück gegeben und die Aussgabe sollte auf dem Bildschirm angeben werden. * Hier müssen sie noch tätig werden :-) * @return der neue Zustand * @param zustand der alte Zustand * @param eingabe die aktuelle Eingabe */ public int uebergangsfunktion (int zustand, int eingabe) { /** nur vorübergehend */ return 0; } /** * Das Hauptprogramm des Automaten. * Zuerst wird ein Willkommensbericht angezeigt * mit der try catch Struktur wird jeglicher möglicherweise auftretende Fehler abgefangen * die while-Schleife wird solange durchlaufen, wie man keine 0 (Abbruch) eingibt. * als erstes wird der neue Zustand bestimmt, dann wird ein neues Zeichen eigelesen... */ public void start () { System.out.println("Fahrkartenautomat"); System.out.println(); System.out.println ("Die Fahrkarte kostet 3 Euro; Sie können"); System.out.println ("mit 1 oder 2 Euro bezahlen, Ende mit 0"); int zustand=0; try { int eingabe=liesEingabeZeichen (); //Eingabe wird gelesen while (eingabe !=0) { //Solange der Automat nicht beendet wird zustand=uebergangsfunktion (zustand, eingabe); eingabe=liesEingabeZeichen (); } } catch (Exception e) {} System.out.println ("Fahrkartenautomat ist abgeschaltet!"); } }