Ich muss folgende Aufgabe lösen und habe es auch so einigermaßen gelöst aber wenn ich das programm dann ausführe gibt er mir das richtige ergebnis nur gibt er mir das unendlich mal aus bis eine fehlermeldung kommt. Wegen dem die frage ich dafür sorgen kann das er die lösung nur einmal ausgibt?
das ist meine bisherige Lösung:
public class Cocktail {
private String spirituose;
private String saft;
private boolean enthaeltSahne;
private boolean enthaeltAlkohol;
private boolean enthaeltKokos;
public Cocktail(String spirituose, String saft, boolean enthaeltSahne, boolean enthaeltAlkohol,
boolean enthaeltKokos) {
super();
this.spirituose = spirituose;
this.saft = saft;
this.enthaeltSahne = enthaeltSahne;
this.enthaeltAlkohol = enthaeltAlkohol;
this.enthaeltKokos = enthaeltKokos;
}
public String ermittleBezeichnung() {
if(spirituose.equals("Rum") && saft.equals("Ananas") && enthaeltSahne == true && enthaeltAlkohol == true && enthaeltKokos == true) {
System.out.println("Pina Colada");
}
else if(spirituose.equals("") && saft.equals("Ananas") && enthaeltSahne == true && enthaeltAlkohol == false && enthaeltKokos == true){
System.out.println("Virgin Colada");
}
else {
System.out.println("nichts");
}
return ermittleBezeichnung();
}
public static void main(String[] args) {
Cocktail c1 = new Cocktail("Rum", "Ananas", true, true, true);
System.out.println(c1.ermittleBezeichnung());
}
}
das ist meine bisherige Lösung:
public class Cocktail {
private String spirituose;
private String saft;
private boolean enthaeltSahne;
private boolean enthaeltAlkohol;
private boolean enthaeltKokos;
public Cocktail(String spirituose, String saft, boolean enthaeltSahne, boolean enthaeltAlkohol,
boolean enthaeltKokos) {
super();
this.spirituose = spirituose;
this.saft = saft;
this.enthaeltSahne = enthaeltSahne;
this.enthaeltAlkohol = enthaeltAlkohol;
this.enthaeltKokos = enthaeltKokos;
}
public String ermittleBezeichnung() {
if(spirituose.equals("Rum") && saft.equals("Ananas") && enthaeltSahne == true && enthaeltAlkohol == true && enthaeltKokos == true) {
System.out.println("Pina Colada");
}
else if(spirituose.equals("") && saft.equals("Ananas") && enthaeltSahne == true && enthaeltAlkohol == false && enthaeltKokos == true){
System.out.println("Virgin Colada");
}
else {
System.out.println("nichts");
}
return ermittleBezeichnung();
}
public static void main(String[] args) {
Cocktail c1 = new Cocktail("Rum", "Ananas", true, true, true);
System.out.println(c1.ermittleBezeichnung());
}
}