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
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
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
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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden