Guten Morgen,
ich habe zur Übung ein primitives Programm erstellt, mit dem man eine Pizza aus bestimmten Zutaten zusammenstellen kann. Dabei ging es mir eigentlich darum den Sinn von Abstrakten Klassen zu verstehen, aber jetzt hänge ich anscheinend an einem Logikfehler fest.
Habe eine Klasse Pizza, die die Methode zusammenstellen besitzt. Diese gibt ein Menü aus und fragt in der whileSchleife nach der Auswahl, die der Kunde auf der Pizza haben will. Dann wird abhängig von der Auswahl durch eine switchAnweisung ein Objekt vom Typ-Zutat erzeugt oder die Schleife abgebrochen.
Jetzt soll die Schleife (also die Abfrage) abbrechen,
Ich finde meinen Denkfehler einfach nicht. Wäre euch sehr dankbar, wenn ihr euch kurz Zeit für mich nehmen würdet
ich habe zur Übung ein primitives Programm erstellt, mit dem man eine Pizza aus bestimmten Zutaten zusammenstellen kann. Dabei ging es mir eigentlich darum den Sinn von Abstrakten Klassen zu verstehen, aber jetzt hänge ich anscheinend an einem Logikfehler fest.
Habe eine Klasse Pizza, die die Methode zusammenstellen besitzt. Diese gibt ein Menü aus und fragt in der whileSchleife nach der Auswahl, die der Kunde auf der Pizza haben will. Dann wird abhängig von der Auswahl durch eine switchAnweisung ein Objekt vom Typ-Zutat erzeugt oder die Schleife abgebrochen.
Jetzt soll die Schleife (also die Abfrage) abbrechen,
- wenn schon 6 Zutaten ausgewählt
- ODER wenn der Kunde die 5 wählt also "Bestellung abbrechen".
Code:
public Zutaten[] zusammenstellen(){
System.out.println("Was wollen sie auf ihre Pizza?");
System.out.println("===============================");
System.out.println("1: Tomate");
System.out.println("2: Mozzarella");
System.out.println("3: Schinken");
System.out.println("4: Thunfisch");
System.out.println("5: Bestellung fertig");
System.out.println("===============================");
Scanner sc = new Scanner(System.in);
while(zaehler < 6 || isFertig == false){
byte auswahl = sc.nextByte();
switch (auswahl) {
case 1:
belag[zaehler] = new Tomate();
zaehler++;
break;
case 2:
belag[zaehler] = new Mozzarella();
zaehler++;
break;
case 3:
belag[zaehler] = new Schinken();
zaehler++;
break;
case 4:
belag[zaehler] = new Thunfisch();
zaehler++;
break;
case 5:
System.out.println("Bestellung abgeschlossen.");
isFertig = true;
break;
default:
System.out.println("Das bieten wir leider nicht an.");
}
}
return belag;
}
Ich finde meinen Denkfehler einfach nicht. Wäre euch sehr dankbar, wenn ihr euch kurz Zeit für mich nehmen würdet