toString gibt "null" statt "0.0" aus

mfkem

Mitglied
Hallo - nur ein kleines Problemchen 😉

Ich möchte mittels einer toString-Methode alle Elemente eines Arrays ausgeben, die Elemente sind hier {0.0, 0.1, 0.2, 0.30004}.

Mein Code:
Java:
public String toString() {
		for (int i=1; i < zahlen.length; i++) {
			s +=", "+zahlen[i];
		}
		return s;
	}

Klappt soweit auch ganz gut, nur bekomme ich zB folgende Ausgabe:

null, 0.1, 0.2, 0.30004

Da hätte ich gern "0.0" anstatt "null" und komme einfach nicht auf die Lösung.
Wäre super, wenn jemand helfen könnte 🙂
 
Zuletzt bearbeitet:
zahlen ist an einer eben null.
Dann musst du einfach prüfen ob zahlen == null und an dieser Stelle dann eben 0.0 schreiben.
 
Java:
public String toString() {
        s = "";
        for (int i=0; i < zahlen.length; i++) {
            s +=", "+zahlen[i];
        }
        return s;
    }
 
gott ... freunde ... so falsch kann man das hier doch nicht stehen lassen ...

mal davon abgesehen das "s" nirgends deklariert wurde ... (und somit zwangsläufig n klassen-member sein muss ... sonst gibts compiler-fehler) sollte man anstatt "String += String+String" eh besser n StringBuilder nutzen ...

besser wäre sowas hier

Java:
public String toString()
{
	StringBuilder stringBuilder=new StringBuilder()
	for(int i=0; i<array.length; i++)
	{
		stringBuilder.append(array[i]);
		if(!(i==(array.length-1)))
		{
			stringBuilder.append(", ");
		}
	}
	return stringBuilder.toString();
}

nicht nur das hier sauber StringBuilder genutzt wird sondern auch das vorne und hinten überflüssige kommas vermieden werden ...
 

Neue Themen


Zurück
Oben