Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.
4.5 a) Basisfall
Hey!
Ich habe mir für den Basisfall eine Hilfsmethode angelegt, welche mit zwei for-schleifen und einer if-anweisung überprüft ob das array ps leer (also mit 0en gefüllt) ist. Gibt es eine elegantere Lösung dafür als gleich eine extra Hilfsmethode?
Wenn in ps nullen drin stehen, dann ist das array nicht leer.
ich dachte arrays werden immer mit 0en initialisiert?
Ja double arrays werden mit 0.0 initialisiert. Aber das bedeutet dann, dass alle Punkte im Array den x bzw y Wert 0.0 haben und nicht dass keine Punkte vorhanden sind.
Ich hab im Netz folgende Aussage dazu gefunden
"In Java werden alle Klassen- und Instanzenvariablen bei Deklaration automatisch auch initialisiert (Variablen auf Objekte werden mit null initialisiert). Bei lokalen Variablen erfolgt keine automatische Initialisierung, allerdings kannst Du in Java nicht auf eine solche Varaible zugreifen, da dann der Kompilier dieses Problem abfängt.
Du kannst in Java nur auf Variablen zugreifen, die deklariert + initialisert wurden. Alles andere scheitert bereits bei Kompilierung."
Ich finde auch im Internet bis jetzt keine Möglichkeit, um in Java festzustellen ob ein Array initialisiert wurde oder nicht. Sollte das obige Zitat stimmen, muss ich ja doch das Array auf Nullen prüfen, oder?
Die Initialisierung braucht dich eigentlich hier garnicht zu interessieren… um ganz sicher zu gehen kannst du noch schaun ob das ganze array null ist (also: ps == null).
Aber hier gehts eigentlich im Basisfall darum zu schauen ob das array ps LEER ist. Also nichts drinsteht. Keine Punkte. Auch kein 0 / 0 Punkte… und wenn du immernoch nicht draufkommst, schau dir mal an was skipFirstPoint() macht.
sorry habs entzwischen selbst begriffen danke =)