在这里,我正在尝试制作二叉树,以便我可以对它们进行不同的操作。
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;
}
为什么我收到错误:root.left和root.right赋值所期望的标识符?
谢谢!
答案 0 :(得分:3)
作业陈述
root.left = lefty;
root.right = righty;
类级别不允许。您可以达到想要更改此行的效果
Node root = new Node("ROOT");
到这个
Node root = new Node("ROOT", lefty, righty);
利用了你的三参数构造函数。
但是,您可能需要重新考虑root
,lefty
和righty
的展示位置。它们可能用于bTree
类。另外,有一种惯例鼓励命名类将每个单词的第一个字母大写,例如, BinaryTree
。