Java:仅显示内存地址或空值的二叉树节点

Java:仅显示内存地址或空值的二叉树节点,java,binary-tree,Java,Binary Tree,我有一个节点类,在向树中添加元素时,我只是想缩小问题的范围。我认为我的节点类只是没有正确地创建要添加到树中的节点。当我打印每个节点时,我相信它会返回内存地址。我似乎无法让它打印任何其他内容。如果能帮助确定我的节点类是否有故障,那就太好了 我的程序打印的内容示例: ([C@f72003d) ([C@56dacb7) ([C@63662529) ([C@4711d9ba) TreeNode类: public class TreeNode { char[] data; TreeNode left,

我有一个节点类,在向树中添加元素时,我只是想缩小问题的范围。我认为我的节点类只是没有正确地创建要添加到树中的节点。当我打印每个节点时,我相信它会返回内存地址。我似乎无法让它打印任何其他内容。如果能帮助确定我的节点类是否有故障,那就太好了

我的程序打印的内容示例:

([C@f72003d)
([C@56dacb7)
([C@63662529)
([C@4711d9ba)
TreeNode
类:

public class TreeNode {

char[] data;
TreeNode left, right, parent;
// used for printing:
int column;
int row;
int center;


public TreeNode(char[] data) {
    this.data = data;
    left = right = parent = null;
}

@Override
public String toString() {
    return "(" + data + ")";
}
public int return_letter(){
    char x = data[0];
    int b = Character.getNumericValue(x);
    return b;        
}

public int findMaxDepth() {
    int lmax = 0;
    int rmax = 0;
    if (left != null) {
        lmax = left.findMaxDepth();
    }
    if (right != null) {
        rmax = right.findMaxDepth();
    }
    return 1 + Math.max(lmax, rmax);
}

}
你的问题就在这里
toString()
正在返回
数据及其包含元素的内存引用。您可以在此方法中使用
Arrays.toString(data)
来获取数组中项目的字符串表示形式,也可以在打印数据的方法中执行以下操作:

for(int i = 0; i < data.length; i++){
    println(data[i]);
}
for(int i=0;i
您还没有真正描述您的问题。。。请向我们提供更多信息。一个简短但完整的程序来演示这个问题会很有帮助。您能发布您收到的任何错误消息吗?
@Override public String toString(){return”(“+data+”);}
将不会打印您想要的内容。使用
Arrays.toString(data)
获取数组内容的字符串表示形式。谢谢邹祖,就这样!
for(int i = 0; i < data.length; i++){
    println(data[i]);
}