Einfacher Fehler bei Arrays

Jens K

Mitglied
hallo,

ich habe hier ein Programm:

Code:
import java.awt.*;

public class Main {
    public static void main (String args[]) {
           Point p[] = null;
           p[0] = new Point (1,2);
           p[1] = new Point (2,3);
    }
}

Das Programm wirft eine NullPointException aus. Kann jemand bitte das Programm so umschreiben, dass es funktioniert?

danke

gruss

Jens
 

kle-ben

Erfahrenes Mitglied
Du musst bei der Initialisierung die Größe des Arrays angeben.
Sonst ist es leer und du greifst auf nicht vorhandenen Speicher zu.


Code:
import java.awt.*;

public class Main {
 public static void main (String args[]) {
              Point p[2] = null;
  p[0] = new Point (1,2);
  p[1] = new Point (2,3);
 }
}
Benny
 

Matze

Weltenwanderer
NullPointer bedeutet grunsätzlich, dass du auf etwas zugreifst, was noch nicht existiert. In deinem Fall willst du einem Array etwas zuweisen. Allerdings hast du das Array zwar im Speicher angelegt, aber noch nicht initialisiert, sprich, es auf null gesetzt. Eine Lösung ist es einfach zu initialisieren:
Java:
Point p[] = new Point[2];

Du solltest dir nochmals die Grundlage zu Arrays, eventuell zu Objekten ansehen.
 

kle-ben

Erfahrenes Mitglied
Äh Matze hat natürlich recht mit seinem Beispiel.
Das Beispiel von mir ist totaler bull......

URgendwie nicht mein Tag heute :)

Benny
 

zerix

Hausmeister
Moderator
Hallo,

mal kurz generell, wenn du Fehler postest. Wenn Exceptions auftreten, poste bitte immer die Fehlermeldung auch, da man so direkt sieht, wo der Fehler ist.

Hier ging es zwar relativ schnell, da es ein kleines Programm war, aber diese werden irgendwann auch umfangreicher.

MFG

Sascha