Hallo Leute,
ich habe muss einen DEA programmieren, dieser soll überprüfen ob ein vorgegebenes Eingabewort korrekt ist und dann ein Ergebnis ausgibt.
Die Eingabe und Ausgabe soll mit Klasse JOptionPane stattfinden (Ausgabe wie im Bild).
Die Eingabezeichen sind [ O , - , 4 , i ]
Der gesamte Programmablauf soll in der Methode public static void main entahlten sein.
kriege fehlermeldung wenn ich versuche JOptionPane einzufügen.
Das was ich bis jetzt habe ist dies:
public class DEA22 {
public static char q = 'O';
public static char w = '-';
public static char e = '4';
public static char r = 'i';
public static void main(String[] args){
String [] Eingabewort = new String[] {"iOOO", "iOi4", "OOiO", "4O-4", "O-O-", "4iO4"};
for (String string : Eingabewort) {
if(gültigeeingabe(string)) {
Ausführung(string);
}
}
}
public static boolean gültigeeingabe(String string) {
if(string == null) {
System.out.println("Variable string ist "null"");
return false;
}
if(string.length() < 4) {
System.out.println("Fehler: "" + string + "" ist keine gueltige Eingabe!");
System.out.println("Min 4 Zeichen duerfen eingegeben werden!");
return false;
}
if(string.length() > 4) {
System.out.println("Fehler: "" + string + "" ist keine gueltige Eingabe!");
System.out.println("Max 4 Zeichen duerfen eingegeben werden!");
return false;
}
for(char c : string.toCharArray()) {
if(c != q && c != w && c != e && c != r) {
System.out.println("Fehler: "" + string + "" ist keine gueltige Eingabe!");
System.out.println("Erlaubt sind nur folgende Zeichen: " + q + ", " + w + ", " + e + " oder " + r);
return false;
}
}
return true;
}
public static void Ausführung(String string) {
char[] chars = string.toCharArray();
int zustand = 1;
for(char c : chars) {
if(c == q) {
switch (zustand) {
case 0:
zustand = 3;
break;
case 1:
zustand = 2;
break;
case 2:
zustand = 2;
break;
case 3:
zustand = 3;
break;
case 4:
zustand = 0;
break;
}
}
else if(c == w) {
switch (zustand) {
case 0:
zustand = 2;
break;
case 1:
zustand = 0;
break;
case 2:
zustand = 3;
break;
case 3:
zustand = 3;
break;
case 4:
zustand = 4;
break;
}
}
else if(c == e) {
switch (zustand) {
case 0:
zustand = 2;
break;
case 1:
zustand = 1;
break;
case 2:
zustand = 2;
break;
case 3:
zustand = 3;
break;
case 4:
zustand = 4;
break;
}
}
else if(c == r) {
switch (zustand) {
case 0:
zustand = 0;
break;
case 1:
zustand = 4;
break;
case 2:
zustand = 4;
break;
case 3:
zustand = 3;
break;
case 4:
zustand = 3;
break;
}
}
}
System.out.println("Endzustand: " + zustand + "");
if(zustand == 3)
System.out.println("Das Word: "" + string + "" ist gueltig!");
else
System.out.println("Das Word: "" + string + "" ist nicht gueltig!");
}
}