Erbsenkommandant
Grünschnabel
Ich habe durch Google ein wenig auf euren Seiten bzw. Forem herumgestöbert, da hab ich 3 Themen gefunden die auf das selbe Problem verweisen.
Nun programmier ich aber erst seit 3 Wochen, und kann mich jetzt nicht so wunderprächtig in dem Quellcode-Wirr-Warr zurechtfinden und auch keine Lösung für mein Problem finden, ich habe zwar eine Ahnung woran es liegt, aber mir fehlen die Mittel um es zu beseitigen.
Grundsätzlich zu meinem Problem:
Ich habe 3 Klassen
2 Konstruktoren
und ein paar Methoden in 2 Klassen mit den Methoden.
Im Anhang hab ich mal mein Programm als txt angehängt.
meine java -version ist 1.6.0_16
compiler version ist auch 1.6.0_16
ich verwende Notepad++ und Windows-cmd zum ausführen.
in meiner ersten Klasse (Punkt2D) ist folgender Konstruktor (Punkt2D):
//Darstellung eines Punktes mit x/y koordinaten
public double []PunktArray;
public Punkt2D (double f, double g)
{
double []PunktArray = {f,g};
}
ich bin mir nich so ganz sicher ob ein Konstruktor so geschrieben wird, jedenfalls gibt es beim compelieren keinen fehler.
dann den 2 Konstruktor (Kreis) in der Klasse (Kreis):
//Darstellung eines Kreises mit dem Typ Punkt2D und einer double d (für Radius)
public double []ArrayK;
public Kreis (Punkt2D c, double d){
double []ArrayK = {c.PunktArray[0], c.PunktArray[1],d};
}
beim ausführen mit meinem Testprogramm gibt es eine Fehlermeldung
Exception in thread "main" java.lang.NullPointerException
at Kreis.<init> (Kreis.java:14)
at TesterArray.main(TesterArray.java:28)
ich hab auch bei Google gelesen, dass nach dem Stack Trace der Fehler beim erstellen des Konstruktors in Kreis.java das Problem ist.
Ich erstelle eine Variable vom Typ Punkt2D die als Array wiedergegeben wird.
anschließend verwende ich dieses Array und dem Variablen-Namen in meinem Konstruktor Kreis. der mir das Array aufbröselt, und mir ein längeres Array ausgibt.
und hier gibts das Problem, dass anscheinend mein Array entweder NULL, also komplett leer ist. (nach meinem Verständnis)
oder der Konstruktor in dem anderen Konstruktor nicht angewendet werden kann, und deshalb nichts erstellt wird, und ein NULL-irgendwas versucht wird aufzurufen...
...naja, selbst wenn ich mit der vermutung richtig liege, habe ich keinen schimmer wie ich das Problem dann lösen sollte.
Ich habe, wie schon erwähnt mein Programm (es ist compelierbar und besteht aus 3 txt) angehängt, für eine Lösung des Problems wäre ich sehr dankbar, noch mehr dankbar für eine Erklärung und eine Lösung =)
Nun programmier ich aber erst seit 3 Wochen, und kann mich jetzt nicht so wunderprächtig in dem Quellcode-Wirr-Warr zurechtfinden und auch keine Lösung für mein Problem finden, ich habe zwar eine Ahnung woran es liegt, aber mir fehlen die Mittel um es zu beseitigen.
Grundsätzlich zu meinem Problem:
Ich habe 3 Klassen
2 Konstruktoren
und ein paar Methoden in 2 Klassen mit den Methoden.
Im Anhang hab ich mal mein Programm als txt angehängt.
meine java -version ist 1.6.0_16
compiler version ist auch 1.6.0_16
ich verwende Notepad++ und Windows-cmd zum ausführen.
in meiner ersten Klasse (Punkt2D) ist folgender Konstruktor (Punkt2D):
//Darstellung eines Punktes mit x/y koordinaten
public double []PunktArray;
public Punkt2D (double f, double g)
{
double []PunktArray = {f,g};
}
ich bin mir nich so ganz sicher ob ein Konstruktor so geschrieben wird, jedenfalls gibt es beim compelieren keinen fehler.
dann den 2 Konstruktor (Kreis) in der Klasse (Kreis):
//Darstellung eines Kreises mit dem Typ Punkt2D und einer double d (für Radius)
public double []ArrayK;
public Kreis (Punkt2D c, double d){
double []ArrayK = {c.PunktArray[0], c.PunktArray[1],d};
}
beim ausführen mit meinem Testprogramm gibt es eine Fehlermeldung
Exception in thread "main" java.lang.NullPointerException
at Kreis.<init> (Kreis.java:14)
at TesterArray.main(TesterArray.java:28)
ich hab auch bei Google gelesen, dass nach dem Stack Trace der Fehler beim erstellen des Konstruktors in Kreis.java das Problem ist.
Ich erstelle eine Variable vom Typ Punkt2D die als Array wiedergegeben wird.
anschließend verwende ich dieses Array und dem Variablen-Namen in meinem Konstruktor Kreis. der mir das Array aufbröselt, und mir ein längeres Array ausgibt.
und hier gibts das Problem, dass anscheinend mein Array entweder NULL, also komplett leer ist. (nach meinem Verständnis)
oder der Konstruktor in dem anderen Konstruktor nicht angewendet werden kann, und deshalb nichts erstellt wird, und ein NULL-irgendwas versucht wird aufzurufen...
...naja, selbst wenn ich mit der vermutung richtig liege, habe ich keinen schimmer wie ich das Problem dann lösen sollte.
Ich habe, wie schon erwähnt mein Programm (es ist compelierbar und besteht aus 3 txt) angehängt, für eine Lösung des Problems wäre ich sehr dankbar, noch mehr dankbar für eine Erklärung und eine Lösung =)
Anhänge
Zuletzt bearbeitet: