Frage zu Java , Anfänger. Wie benutze ich hier die toString() methode?

...komplette Frage anzeigen

1 Antwort


Hi :D

Mit Strings kannst du + (plus) rechnen:
"Hallo" + " " + "du!" ist dann der String "Hallo du!" [Wie man es von einer Ausgabe kennt]

Du durchläufst zwar die Schleife, aber dein String wird jedes mal nur überschrieben, statt dass etwas hinzugefügt wird.
Also müsste die Lösung so aussehen:

public String toString()
{
   String str;

for (int i=0;i<npoints;i++) {
str += "P"+i+ " = ("+xpoints[i]+", "+ypoints[i]+") ";
}
return str;
}

Beachte das += in der for-Schleife
[Falls du += nicht kennst, hier anderst geschrieben:

str = str + "p"+i+" = "+xpoints[i]+", "+ypoints[i]+")  ";]

Bei jedem Schleifendurchlauf wird an deinem String ein weiterer angehängt und nicht überschrieben.

Hoffe du verstehst es :D



Hab das sehr gut verstanden! :-) Danke.

Ich weiß was += bedeutet und auch dass man Zeichenketten durch den +-Operator aneinanderketten kann

Allerding erhalte ich dann eine solche Ausgabe:

Meins: nullP0 = (50, 50) P1 = (150, 100) P2 = (100, 150)

Das "Null" stört da etwas . Wie bekomme ich das weg. ? Das null bedeutet dass ein String leer ist oder?

0
@Masupilami1413

Ich hab das "null" nun einfach dadurch wegbekommen, dass ich den String direkt mit "" initialisiert habe. Also stand da am Anfang ein leerer String.

Ist das so in Ordnung, oder eher unelegant?

2
@Masupilami1413

Nein, passt so :) null ist kein leerer String "" ist ein leerer String. null bedeutet, dass auf kein Objekt referenziert wird, deine Variable hat also mehr oder weniger keinen Inhalt

2

Was möchtest Du wissen?