Hallo,
ich sitze jetzt schon ne weile an nem RotSchwarz-Baum und kriege immer wieder haufen exceptions o.0
Diese entstehen daher weil in dem Baum falsche funktionen angesprochen werden.
Hier erstmal der gesamte Code:
package com.d3rbastl3r.RBBaum (das RBBaum): Paste #235020 | LodgeIt!
package com.d3rbastl3r.RBBaum (das Interface): Paste #235021 | LodgeIt!
und die Testdateien:
Testklasse : Paste #235022 | LodgeIt!
Main: Paste #235023 | LodgeIt!
In der Main wird dieser Baum mit den Zahlen 10, 5 und 6 gespeist. (in genau der reihenfolge)
Die 10 ist hierbei das Root-Element
Die 5 müsste sich an den Linken zweig der 10 und die 6 an den rechten zweig der 5 heften.
Soweit funktioniert es einbahnfrei.
Nach einfügen der 6 müsste insertCase1(), zeile 246, das insertCase2() zum ersten mal starten usw.
das ganze läuft bis insertCase4().
In insertCase4(), zeile 287, tauchen die ersten fehler auf (zumindest soweit ich feststellen konnte).
Zeile 290 und 291 habe ich 2 testabfragen die nach der eingabe folgendes ergebnis erzielen sollten:
290: if(this == this.parent.right) //müsste auf jeden fall true ergeben
291: if(this.parent == getGrandparent().left) //müsste ebenfalls true ergeben
demnach sollte Zeile 292 auch true ergeben und die darunter stehenden anweisungen ausgeführt werden.
aus irgend einem grund ergibt zeile 290: if(this == this.parent.right) false deshalb wird die falsche rotation des baumes gestartet und das programm smeisst einen "NullPointerException" in zeile 367. (an dieser stelle wird die Späzielle rotation für das RootElement durchgeführt)
Eine weitere fehlermeldung ist mir ebenfalls rätselhaft: (Exception in thread "main" java.lang.NullPointerException)
Diese springt (scheinbar) willkürlich an verschiedensten stellen auf, ohne dass programm verändert wird ist diese manchmal hier und manchmal dort o.0
Eventuell könnte das ganze mit dem NIL element zusammenhängen *kopfkratz*
Also, falls einer von den pro´s hier den fehler im programmcode findet wär ich sehr dankbar xD
Ach ja, hier auch mal das gesamte NetBeans projeckt.
ich sitze jetzt schon ne weile an nem RotSchwarz-Baum und kriege immer wieder haufen exceptions o.0
Diese entstehen daher weil in dem Baum falsche funktionen angesprochen werden.
Hier erstmal der gesamte Code:
package com.d3rbastl3r.RBBaum (das RBBaum): Paste #235020 | LodgeIt!
package com.d3rbastl3r.RBBaum (das Interface): Paste #235021 | LodgeIt!
und die Testdateien:
Testklasse : Paste #235022 | LodgeIt!
Main: Paste #235023 | LodgeIt!
In der Main wird dieser Baum mit den Zahlen 10, 5 und 6 gespeist. (in genau der reihenfolge)
Die 10 ist hierbei das Root-Element
Die 5 müsste sich an den Linken zweig der 10 und die 6 an den rechten zweig der 5 heften.
Soweit funktioniert es einbahnfrei.
Nach einfügen der 6 müsste insertCase1(), zeile 246, das insertCase2() zum ersten mal starten usw.
das ganze läuft bis insertCase4().
In insertCase4(), zeile 287, tauchen die ersten fehler auf (zumindest soweit ich feststellen konnte).
Zeile 290 und 291 habe ich 2 testabfragen die nach der eingabe folgendes ergebnis erzielen sollten:
290: if(this == this.parent.right) //müsste auf jeden fall true ergeben
291: if(this.parent == getGrandparent().left) //müsste ebenfalls true ergeben
demnach sollte Zeile 292 auch true ergeben und die darunter stehenden anweisungen ausgeführt werden.
aus irgend einem grund ergibt zeile 290: if(this == this.parent.right) false deshalb wird die falsche rotation des baumes gestartet und das programm smeisst einen "NullPointerException" in zeile 367. (an dieser stelle wird die Späzielle rotation für das RootElement durchgeführt)
Eine weitere fehlermeldung ist mir ebenfalls rätselhaft: (Exception in thread "main" java.lang.NullPointerException)
Diese springt (scheinbar) willkürlich an verschiedensten stellen auf, ohne dass programm verändert wird ist diese manchmal hier und manchmal dort o.0
Eventuell könnte das ganze mit dem NIL element zusammenhängen *kopfkratz*
Also, falls einer von den pro´s hier den fehler im programmcode findet wär ich sehr dankbar xD
Ach ja, hier auch mal das gesamte NetBeans projeckt.
Anhänge
Zuletzt bearbeitet: