我试图使用rootNode(BSTN)的搜索递归地调用搜索,这给我一个错误,提示错误的类型,或者用rootNode的子树调用getNode(错误,为BST类型未定义),这也给我一个错误我的类型有误

package sizebst;



public class sizeBST {
sizeBSTN rootNode;

public SizeBST(BSTN root){
    rootNode =  root;
}



public boolean search(int target){
    //isn't complete but I want to recrusively search the tree calling methods from the other class
            getNode(rootNode.LSubtree, target);

}


这是我要从中调用getNode的方法。

package sizebst;


public class SizeBSTN {
SizeBSTN LSubtree;
SizeBSTN RSubtree;
int data;
int size;


public SizeBSTN(int data){
    LSubtree = null;
    RSubtree = null;
    this.data = data;
    size = 1;
}




public static SizeBSTN getNode(SizeBSTN node, int target){
// isn't working yet but it finds a node and returns it.




    }



}

最佳答案

由于getNodestatic类中的SizeBSTN方法,请尝试

SizeBSTN.getNode(rootNode.LSubtree, target);


代替

getNode(rootNode.LSubtree, target);




另一种方法是使用

import static sizebst.SizeBSTN.getNode;


现在您可以在没有类引用的情况下调用它。

09-26 07:01