Here I am trying to practice making binary trees so that I can do different operations with them.
import java.util.*;
import java.lang.*;
public class Main {
public static void main(String[] args) {
}
}
//Building Binary Trees
class bTree {
static class Node { //remember to initilize a root
String value;
Node left, right;
Node(String value, Node left, Node right) {
this.value = value;
this.left = left;
this.right = right;
}
Node(String value) //THIS IS A SIBLING CONSTRUCTOR
{
this(value, null, null);
}
Node root = new Node("ROOT");
Node lefty = new Node("LEFT0");
Node righty = new Node("RIGHT0");
root.left = lefty;
root.right = righty;
}
Node root = null;
}
Why am I getting the error: Identifier expected at the root.left and root.right assignment?
Thanks!
The assignment statements
are not allowed on the class level. You can achieve the effect you want changing this line
to this
which takes advantage of your three-argument constructor.
However, you may want to reconsider the placement of
root,leftyandrighty. They are probably intended in thebTreeclass. Also, there is a convention that encourages naming class capitalizing the first letter of each word, e.g.BinaryTree.