我的问题是,这种方法“ isLargest”在遇到“ return true;”时不会结束。即使“ else if”中的条件为true,也似乎只是跳过它而总是返回“ false”。我什至印了“测试”一词来证明这一点。当我使用该方法时,它说“ test”并返回false。
我试图将这个“ return false”放在一个else或另一个if中,但是然后说“此方法必须返回布尔类型”,并建议我添加return语句。我该如何处理?
public boolean isLargest(Node tmp, Node parent){
if(tmp.value > parent.value){
parent = parent.right;
tmp.isLargest(tmp, parent);
}
else if(parent.value == tmp.value){
System.out.println("test");
return true;
}
return false;
进行递归调用时,您需要返回递归调用的值。
public boolean isLargest(Node tmp, Node parent){
if(tmp.value > parent.value){
parent = parent.right;
return tmp.isLargest(tmp, parent);
}
else if(parent.value == tmp.value){
System.out.println("test");
return true;
}
return false;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句