在这里,我正在尝试练习制作二叉树,以便我可以对它们进行不同的操作。
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 赋值处应有标识符?
谢谢!
最佳答案
赋值语句
root.left = lefty;
root.right = righty;
不允许在类里面使用。改变这一行就可以达到你想要的效果
Node root = new Node("ROOT");
对此
Node root = new Node("ROOT", lefty, righty);
它利用了您的三参数构造函数。
但是,您可能需要重新考虑 root
、lefty
和 righty
的位置。它们可能用于 bTree
类。此外,有一种约定鼓励命名类时将每个单词的首字母大写,例如二叉树
。
关于JAVA:二叉树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9648756/