Uebung 8, Aufgabe 2 (Binaere Baeume), b) die Methode

boshva
Neuling
Neuling
Beiträge: 1
Registriert: 1. Sep 2012 15:50

Uebung 8, Aufgabe 2 (Binaere Baeume), b) die Methode

Beitrag von boshva » 1. Sep 2012 16:01

Hallo, Kann mir jemand helfen bei der Methode public String toString()

Code: Alles auswählen

public String toString() {
		String str = "";
		
		if (hasLeft()) str += left.toString(); // Linker Teilbaum
		str += (data + " "); // Eigener String
		if (hasRight()) str += right.toString(); // Rechter Teilbaum
		
		return str.toString();
	}
Hier wird ja die Rekursion benutzt,
kann mir bitte jemand erklären wir das return str.toString(); funktioniert
So wie ich das verstehe gibt die Methode den str als String zurück, aber wieso geht es wieser in die Methode toString() von einem Tree zurück;
oder verstehe ich es komplett falsch.
Danke
Zuletzt geändert von mmec am 1. Sep 2012 21:37, insgesamt 1-mal geändert.
Grund: code Klammern

Benutzeravatar
mmec
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 203
Registriert: 7. Sep 2011 17:59
Wohnort: Darmstadt

Re: Uebung 8, Aufgabe 2 (Binaere Baeume), b) die Methode

Beitrag von mmec » 1. Sep 2012 21:49

Hallo boshva,

ich weiß auch nicht warum du für deinen String str die Methode toString noch einmal aufrufst, lass es doch einfach weg^^. Es wird dabei natürlich die Methode toString der Klasse String aufgerufen!

Und wenn du in der Java API nachschaust siehst du dass diese Methode den String selbst zurückgibt:
Java API hat geschrieben:toString

public String toString()
This object (which is already a string!) is itself returned.
Specified by:
toString in interface CharSequence
Overrides:
toString in class Object
Returns:
the string itself.
Java API String toString()

Die ersten zwei toString in deiner Methode werden auf die Baumobjekte angewandt und deswegen wird auch die toString Methode dieser Baumklasse aufgerufen.

Alles klar?

Grüße, Johannes
FC SEEMOO No.1

Antworten

Zurück zu „Archiv“