Teddy87 Geschrieben 29. Juni 2008 Geschrieben 29. Juni 2008 Hi Ich bin gerade dabei einen 2_3_4Baum zu implementieren und hatte eigentlich gehofft, dass ich meinen alten BBaum nur leicht verändern muss, aber ich habe Probleme bei den Konstruktoren ... am besten ich zeig es euch einfach: class Node2_3_4<T extends Comparable<T>> { //Atribute public T[] keys; public Node2_3_4<T>[] children; // Konstruktoren public Node2_3_4() { for(int i=0; i<3; i++){ this.keys[i]=null; } for(int i=0; i<4; i++){ this.children[i]=null; } } ... An sich werden mir keine Fehler angezeigt aber wenn ich die datei, was heißt TestTree ausführe, kommt ne NullPointerException hat jemand eine Idee wie ich es verändern kann ohne jedes Objekt einzeln als Attribut zu wählen?Node2_3_4.txtTree2_3_4.txtTestTree2_3_4.txt Zitieren
flashpixx Geschrieben 29. Juni 2008 Geschrieben 29. Juni 2008 Hallo, public Node2_3_4<T>[] children; besagt, dass Du ein Array [] vom Typ T mit dem Namen children anlegst. public Node2_3_4() { for(int i=0; i<3; i++) this.keys[i]=null; } Hier greifst Du immer auf das 1-te Element zu. Frage Dich mal: Wie viele Elemente hat denn Dein Array? HTH Phil Zitieren
kingofbrain Geschrieben 29. Juni 2008 Geschrieben 29. Juni 2008 oder um es deutlicher zu formulieren: Du musst Deine Arrays noch initialisieren, z.B. im Konstruktor: keys = new T[4]; Peter Zitieren
Teddy87 Geschrieben 29. Juni 2008 Autor Geschrieben 29. Juni 2008 Mir ist dabei sehr wohl bewusst, dass ich das Array noch nicht initialisiere, aber wenn ich nach dem üblichen Schema gehen würde, was heißt: int size=3; T[] objekt = T[size]; dann krieg ich ne Fehlermeldung, dass kein generisches Array dieser Art angelegt werden kann Zitieren
flashpixx Geschrieben 29. Juni 2008 Geschrieben 29. Juni 2008 Als Hilfe: Flashpixx.de Gruß Phil Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.