WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   Baum in Java (http://www.wcm.at/forum/showthread.php?t=52682)

3of4 09.04.2002 21:53

Baum in Java
 
Ich will gerade einen Javabaum selbst schreiben(nachdem unser Lehrer uns bei dieser HÜ, in dem Gedanken an mich, extends verboten hatte), aber bei meiner Goup-methode wirft er mir immer eine NullPointerException (keine ReferenzException, und zwar genau in der Zeile, wo ich dieses eigentlich verhindern wollte. (Zeile 49: ...if(actual.getFather().getNext()!=null)... )

Hier der ganze Code:
import java.awt.*;
public class Tree{
private Treenode root,actual;
private StringBuffer sb = new StringBuffer();
public Tree(){
Input in = new Input(new Frame(),"Root eingeben","Bitte Wurzel eingeben","OK");
in.setVisible(true);
try{
root = new Treenode(Integer.parseInt(in.getResult()));
}
catch(NumberFormatException nfe){
}
actual=root;
}

public void insert(int z){
recinsert(z);
}
private void recinsert(int z){
if(z<actual.getInt()){
if(actual.getPrev()!=null){
actual=actual.getPrev();
recinsert(z);
}
else{
actual.setPrev(new Treenode(z));
}
}
else if(z>=actual.getInt()){
if(actual.getNext()!=null){
actual=actual.getNext();
recinsert(z);
}
else{
actual.setNext(new Treenode(z));
}
}
actual=root;
}
public void Gofirst(){
if(actual.getPrev()!=null){
actual=actual.getPrev();
Gofirst();
}
else System.out.println(actual.getInt());
}
public void Goup(){
if(actual!=root){
if(actual.getFather().getNext()!=null){
actual=actual.getFather().getNext();
System.out.println(actual.getInt());
}
else{
actual=actual.getFather();
Goup();
}
}
}
}

Flink 10.04.2002 10:50

Warum verwendest du nicht TreeNode von Java?
TreeNode
Die Namensgleichheit solltest du auf jeden Fall vermeiden!
Ich vermute mal, daß actual.getFather() null zurückliefert, deshalb die Exception.

3of4 10.04.2002 18:48

weil wir leider extends nicht verwenden dürfen, und ich müsste TreeNode von Java überladen, und nur verwenden dürfen wir auch nicht.

Flink 10.04.2002 19:03

Zitat:

Original geschrieben von Professor Mailbomber
weil wir leider extends nicht verwenden dürfen, und ich müsste TreeNode von Java überladen, und nur verwenden dürfen wir auch nicht.
Es handelt sich hierbei um ein Interface! Mit implements kommst du aus. Und programmieren mußt du das ganze sowieso noch. :idee:


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:36 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag