1 回答

TA贡献1859条经验 获得超6个赞
问题是 p 是节点类型而不是InternalNode。
您需要做的是将 p 转换为 InternalNode,然后再访问仅存在于 InternalNode 中的变量。
if (p instanceof InternalNode) {
InternalNode pInternal = (InternalNode) p;
// access node0 and so on here.
}
您的代码应如下所示:
if ( p instanceof LeafNode || p instanceof Node){
System.out.println(p.guide);
} else if (p instanceof InternalNode) {
InternalNode internalNode = (InternalNode) p;
if (internalNode.child2 == null){
printAll(internalNode.child0);
printAll(internalNode.child1);
} else {
printAll(internalNode.child0);
printAll(internalNode.child1);
printAll(internalNode.child2);
}
}
添加回答
举报