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);
}
}
添加回答
舉報