Hallo liebes Forum,
hab mich bzgl. meines Problems extra hier angemeldet, also verzeiht mir, wenn ich evt. nicht direkt das richtige Unterforum getroffen habe, oder meine Frage sich in irgendeiner weise als unsinnig rausstellen sollte.
Mein Problem ist folgendes: Ich erstellte eine Klasse Tree, die die typischen Methoden Insert, remove, getLeft, getRight, etc. hat.
Nun sollte ich die Methode getDepth (in unserer Aufgabe sollte die Methode "tiefe" heißen und da der Prof immer Punkte abzieht, wenn etwas nicht so ist wie er will, heißt die Methode halt so) implementieren. Hab auch schon einen Lösungsansatz, aber der rekursive Methodenaufruf klappt einfach nicht.
Ich verstehe nicht, was hier falsch sein soll. Kann mir bitte jemand weiterhelfen? Im Anhang der Auszug. Wir lernen übrigens mit BlueJ...
Hier im Bild sieht man wo der Compiler den Fehler sieht:
Hier nochmal der Code an sich:
hab mich bzgl. meines Problems extra hier angemeldet, also verzeiht mir, wenn ich evt. nicht direkt das richtige Unterforum getroffen habe, oder meine Frage sich in irgendeiner weise als unsinnig rausstellen sollte.
Mein Problem ist folgendes: Ich erstellte eine Klasse Tree, die die typischen Methoden Insert, remove, getLeft, getRight, etc. hat.
Nun sollte ich die Methode getDepth (in unserer Aufgabe sollte die Methode "tiefe" heißen und da der Prof immer Punkte abzieht, wenn etwas nicht so ist wie er will, heißt die Methode halt so) implementieren. Hab auch schon einen Lösungsansatz, aber der rekursive Methodenaufruf klappt einfach nicht.
Ich verstehe nicht, was hier falsch sein soll. Kann mir bitte jemand weiterhelfen? Im Anhang der Auszug. Wir lernen übrigens mit BlueJ...
Hier im Bild sieht man wo der Compiler den Fehler sieht:
Hier nochmal der Code an sich:
Java:
//get-Methoden
public String getContent(){
return content;
}
public Tree getLeft() {
return left;
}
public Tree getRight(){
return right;
}
public int getAnzahl(){
int anz = 1;
if(getLeft()!=null)anz = anz + getLeft().getAnzahl();
if(getRight()!=null)anz = anz + getRight().getAnzahl();
return anz;
}
public int tiefe(){
int tiefeL = 0;
int tiefeR = 0;
if(getLeft() != null) tiefeL = getLeft().tiefe();
if(getRight() != null)tiefeR = getRight().tiefe();
if(tiefeL>tiefeR) return tiefeL;
else return tiefeR;
}
Zuletzt bearbeitet: