C
Christian1986
Gast
Hallo, dieser Code sollte eigentlich fehlerfrei sein. Wenn ich ihn in Ecplipse einfüge, bekomme ich jedoch die folgende Fehler:
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
ZahlNode cannot be resolved to a type
ZahlNode cannot be resolved to a type
ZahlNode cannot be resolved to a type
ZahlNode cannot be resolved to a type
ZahlNode cannot be resolved to a type
ZahlNode cannot be resolved to a type
ZahlNode cannot be resolved to a type
ZahlNode cannot be resolved to a type
ZahlNode cannot be resolved to a type
ZahlNode cannot be resolved to a type
ZahlNode cannot be resolved to a type
ZahlNode cannot be resolved to a type
ZahlNode cannot be resolved to a type
ZahlNode cannot be resolved to a type
t.root cannot be resolved or is not a field
at main.main(main.java:9)
Was mache ich falsch?
Danke!
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
ZahlNode cannot be resolved to a type
ZahlNode cannot be resolved to a type
ZahlNode cannot be resolved to a type
ZahlNode cannot be resolved to a type
ZahlNode cannot be resolved to a type
ZahlNode cannot be resolved to a type
ZahlNode cannot be resolved to a type
ZahlNode cannot be resolved to a type
ZahlNode cannot be resolved to a type
ZahlNode cannot be resolved to a type
ZahlNode cannot be resolved to a type
ZahlNode cannot be resolved to a type
ZahlNode cannot be resolved to a type
ZahlNode cannot be resolved to a type
t.root cannot be resolved or is not a field
at main.main(main.java:9)
Was mache ich falsch?
Danke!
Code:
public class BinTree
{
public ZahlNode root; // der Wurzelknoten
public BinTree() { root = null; /* leerer Baum */ }
public boolean contains(int z) { return contains(root, z); }
protected boolean contains(ZahlNode node, int z) {
if (node == null) return false;
if (node.z == z) return true;
return contains(node.left, z)
|| contains(node.right, z);
}
public void preorder() {
preorder(root);
System.out.println();
}
public void preorder(ZahlNode node) {
if (node == null) return ;
do_something(node.z);
preorder(node.left);
preorder(node.right);
}
public void inorder() {
inorder(root);
System.out.println();
}
public void inorder(ZahlNode node) {
if (node == null) return ;
inorder(node.left);
do_something(node.z);
inorder(node.right);
}
public void postorder() {
postorder(root);
System.out.println();
}
public void postorder(ZahlNode node) {
if (node == null) return ;
postorder(node.left);
postorder(node.right);
do_something(node.z);
}
// public void bfs() {
// ConsList L = new ConsList();
// L.append(root); // Beginne bei Wurzelknoten
// while (!L.isEmpty()) {// Solange es noch zu besuchende Knoten gibt..
// Node node = (Node)L.removeHead();
// do_something(node.obj); // besuche naechsten Knoten ..
// if (node.left != null) // und markiere seinen ..
// L.append(node.left); // linken Kindknoten ..
// if (node.right != null) // und seinen ..
// L.append(node.right); // rechten Kindknoten
// }
// }
public void do_something(int z) {
System.out.print(z + " ");
}
public int getNumNodes() {
return getNumNodes(root);
}
protected int getNumNodes(ZahlNode node) {
if (node == null) return 0;
return 1 + getNumNodes(node.left) + getNumNodes(node.right);
}
public int getHeight() {
return getHeight(root);
}
protected int getHeight(ZahlNode node) {
if (node == null) return 0;
if (node.left == null && node.right == null) return 0;
return 1 + Math.max(getHeight(node.left), getHeight(node.right));
}
public static void main (String ... args) {
BinTree t = new BinTree();
ZahlNode n1 = new ZahlNode(1);
ZahlNode n2 = new ZahlNode(2);
ZahlNode n3 = new ZahlNode(3);
ZahlNode n4 = new ZahlNode(4);
ZahlNode n5 = new ZahlNode(5);
ZahlNode n6 = new ZahlNode(6);
ZahlNode n7 = new ZahlNode(7);
t.root = n1;
n1.left = n2;
n1.right = n3;
n2.left = n4;
n2.right = n5;
n3.left = n6;
n3.right = n7;
}
}