^a[a-z]*z$Schreiben Sie ein Java-Programm, welches eine Zeichenkette von der Standard-Eingabe liest und überprüft, ob die eingegebene Zeichenkette dem regulären Ausdruck entspricht. Das Ergebnis der Überprüfung soll auf der Standard-Ausgabe ausgegeben werden. Die Eingabe der Zeichenkette soll durch ein Newline (n) beendet werden, das Programm muss nur eine Zeichenkette verarbeiten können.
Für die Lösung der Aufgabe dürfen keine Variablen vom Typ String verwendet werden.
Die formale Sprache über dem Vokabular sei verbal wie folgt definiert:
alle mit '1' beginnenden, nichtleeren Zeichenfolgen über , bei denen die Anzahl der unmittelbar
aufeinanderfolgenden Einsen '1' gerade und die Anzahl der unmittelbar aufeinanderfolgenden Nullen '0' ungerade ist
Implementieren Sie einen endlichen Automaten, der überprüft, ob ein eingegebenes Wort zu der oben definierten Sprache gehört. Jedes Wort wird durch ein Newline (n) abgeschlossen. Ihr Programm soll auch mehrere nacheinander eingegebene Wörter (also Zeilen) überprüfen können.
Überprüfen Sie Ihr Programm. Dabei sollen Sie darauf achten, dass durch eine geeignete Wahl von Eingaben jede Anweisung Ihres Programms mindestens einmal ausgeführt wird.
Viel Erfolg!