V
venomicious
Gast
Guten Abend!
Ich habe ein Problem mit meinem Binärbaum, besser gesagt mit der insert-Methode. Und zwar kriege ich immer eine NullpointerException geworfen beim einfügen von Knoten.
Ich poste am besten mal meinen Code:
Der Binärbaum mit der insert-Methode und mit der inneren Knotenklasse:
Und meine Main-Klasse:
Meine Frage ist nun: Warum kriege ich beim Einfügen der Knoten zu jedem Knoten eine NullpointerException? Ich kann es mir nicht erklären, da meiner Meinung nach alles durchdacht ist.
Ich freue mich über kompetente Antworten und danke jetzt schonmal im Voraus!
Ich habe ein Problem mit meinem Binärbaum, besser gesagt mit der insert-Methode. Und zwar kriege ich immer eine NullpointerException geworfen beim einfügen von Knoten.
Ich poste am besten mal meinen Code:
Der Binärbaum mit der insert-Methode und mit der inneren Knotenklasse:
Code:
class BinaryTree {
class Node {
public Node(int key, String data) {
m_Key = key;
m_Data = data;
}
public Node getLeft() {
return m_Left;
}
public void setLeft(Node left) {
m_Left = left;
}
public Node getRight() {
return m_Right;
}
public void setRight(Node right) {
m_Right = right;
}
int m_Key;
String m_Data;
Node m_Left = null;
Node m_Right = null;
}
public void insert(int key, String data) throws NullPointerException {
try {
if(m_Root == null) {
m_Root.setLeft(new Node(key,data));
} else {
Node tmp = m_Root;
while(tmp != null) {
if(key < tmp.m_Key)
tmp = tmp.getLeft();
else
tmp = tmp.getRight();
}
tmp.setLeft(new Node(key,data));
}
} catch (NullPointerException e) {
System.out.println(e);
}
}
private Node m_Root = null;
}
Code:
public class Uebung6_2 {
public static String createString() {
String word = null;
for(int i = 0; i < 10; ++i) {
int tmp = (int)(Math.random()*26)+65;
char letter = (char)(tmp);
if(word == null)
word = Character.toString(letter);
else
word = new String(word+letter);
}
return word;
}
public static void main(String[] args) {
BinaryTree bt = new BinaryTree();
for(int i = 0; i < 6000; ++i)
bt.insert(i, createString());
}
}
Meine Frage ist nun: Warum kriege ich beim Einfügen der Knoten zu jedem Knoten eine NullpointerException? Ich kann es mir nicht erklären, da meiner Meinung nach alles durchdacht ist.
Ich freue mich über kompetente Antworten und danke jetzt schonmal im Voraus!