Hi Leute,
ich habe vor einigen Wochen begonnen in Java zu programmieren im Rahmen eines Informatik-Moduls an der Uni.
Nun haben wir eine Aufgabe, wo es darum gibt, die Themen Vererbung, Schnittstellen etc. umzusetzen.
Die Uni stellt einen Autokorrektor bereit, der anhand von vorgefertigten Test eventuelle Fehler aufdeckt. Der Autokorrektor zeigt einen Fehler an, wo ich nicht mehr weiterkomme. Wäre toll, wenn ihr mir da einen Tipp geben könntet:
Der Fehler wird in der Methode addZutat in der ersten If-Schleife angezeigt, wo es um den Vergleich der Strings geht.
Vielen Dank.
Ich kann gerne die Aufgabenstellung hier reinstellen, allerdings gehören dazu mehrere anderen, eigentlich relativ einfache, Klassen dazu. Ich glaube aber, dass es eher ein simpler Fehler ist, wo ich einfach irgendwas übersehen.
Noch was zur Methode addZutat, um die es geht:
Die Methode soll im vorgegebenen Zutaten-Array prüfen, ob es die Zutat schon gibt. Falls ja, soll false zurückgegegben werden und falls nicht, soll die Zutat an einer freien Stelle eingefügt werden und es soll true zurückgegeben werden.
ich habe vor einigen Wochen begonnen in Java zu programmieren im Rahmen eines Informatik-Moduls an der Uni.
Nun haben wir eine Aufgabe, wo es darum gibt, die Themen Vererbung, Schnittstellen etc. umzusetzen.
Die Uni stellt einen Autokorrektor bereit, der anhand von vorgefertigten Test eventuelle Fehler aufdeckt. Der Autokorrektor zeigt einen Fehler an, wo ich nicht mehr weiterkomme. Wäre toll, wenn ihr mir da einen Tipp geben könntet:
Java:
public abstract class Milchprodukt extends Produkt implements Produzierbar{
private double fettgehalt;
private Zutat[] zutaten = new Zutat[10];
public Milchprodukt() {}
public boolean produzieren(int anzahl) {
for (int i=0; i<10; i++) {
if(zutaten[i].getAnzahlVerfuegbarerEinheiten()>=anzahl) {
setAnzahlVorhanden(getAnzahlVorhanden() + anzahl);
zutaten[i].setAnzahlVerfuegbarerEinheiten(zutaten[i].getAnzahlVerfuegbarerEinheiten() - anzahl);
return true;
}
}
return false;
}
public boolean addZutat(Zutat zutat) {
boolean contains=false;;
for (int i=0; i<10; i++) {
if((zutaten[i].getName()).equals(zutat.getName())) {
contains=true;
return false;
}
}
for (int i=0; i<10; i++) {
if (zutaten[i]==null||!contains) {
zutaten[i].setName(zutat.getName());
break;
}
}
return true;
}
public boolean removeZutat(Zutat zutat) {
for (int i=0; i<10; i++) {
if(zutaten[i].getName().equals(zutat.getName())) {
zutaten[i].setName(null);
return true;
}
}
return false;
}
public double getFettgehalt() {
return fettgehalt;
}
public void setFettgehalt(double fettgehalt) {
this.fettgehalt = fettgehalt;
}
public Zutat[] getZutaten() {
return zutaten;
}
public void setZutaten(Zutat[] zutaten) {
this.zutaten = zutaten;
}
}
Der Fehler wird in der Methode addZutat in der ersten If-Schleife angezeigt, wo es um den Vergleich der Strings geht.
Vielen Dank.
Ich kann gerne die Aufgabenstellung hier reinstellen, allerdings gehören dazu mehrere anderen, eigentlich relativ einfache, Klassen dazu. Ich glaube aber, dass es eher ein simpler Fehler ist, wo ich einfach irgendwas übersehen.
Noch was zur Methode addZutat, um die es geht:
Die Methode soll im vorgegebenen Zutaten-Array prüfen, ob es die Zutat schon gibt. Falls ja, soll false zurückgegegben werden und falls nicht, soll die Zutat an einer freien Stelle eingefügt werden und es soll true zurückgegeben werden.