Hallo ihr Lieben,
ich bin leider absoluter Java neuling und komplett mit der folgenden Aufgabe überfordert...
Die Aufgabe war eine Automaten zu programmieren, der ein Menü auf seine Gültigkeit testet.Dabei gab folgende Bedingungen:
Es muss genau ein Burger gewählt werden (hier als B) und es dürfen 'beliebig' viele Beilagen (hier P, weil ich einfach mal von Pommes ausgegangen bin
) gewählt werden, jedoch darf das Menü höchstes aus 3 Produkten bestehen. Nachdem eine Beilage gewählt wurde dürfen beliebig viele Soßen dazu gewählt werden ( hier S), eine Soße zählt nicht als Produkt.
Nun zu meinem Programm: es läuft soweit kompiliert nur der entscheide Fehler liegt eben genau da, was das Programm ausmacht
egal was man eingibt, er sagt mir IMMER das Menü wäre gültig.
Kann mir jemand helfen?
Vielen Dank
ich bin leider absoluter Java neuling und komplett mit der folgenden Aufgabe überfordert...
Die Aufgabe war eine Automaten zu programmieren, der ein Menü auf seine Gültigkeit testet.Dabei gab folgende Bedingungen:
Es muss genau ein Burger gewählt werden (hier als B) und es dürfen 'beliebig' viele Beilagen (hier P, weil ich einfach mal von Pommes ausgegangen bin
Nun zu meinem Programm: es läuft soweit kompiliert nur der entscheide Fehler liegt eben genau da, was das Programm ausmacht
Kann mir jemand helfen?
Vielen Dank
Java:
public class Automat {
public static void main(String[] argv) {
final byte S = 0;
final byte B = 1;
final byte P = 2;
byte status = 0;
byte [][] uebergang=
new byte [][]{
{1,4,4},
{4,2,4},
{4,3,2},
{4,4,3},
{4,4,3},
};
char eingabe;
do {
eingabe = IO.readChar ("Nächste Aktion" + "(b(urger),(p(ommes),(s(auce)): ");
switch (eingabe) {
case 'b': case 'B':
status= uebergang[status][B];
break;
case 'p': case 'P':
status= uebergang[status][P];
break;
case 's': case 'S':
status= uebergang[status][S];
break;
case '\n':
IO.println ("Das Menue ist gültig");
break;
default:
IO.println ("Ungueltiges Zeichen, bitte nocheinmal.");
break;
}
}
}while (eingabe !='\n');
}
}