繁体   English   中英

必须在方法中指定return,但是我希望方法再次调用自身而不是返回

[英]Have to specify return in method, but I want the method to call itself again instead of returning

我写了一个方法。 它是在模仿掷硬币,并试图检测“连续三个头”的情况。 连续出现三个头时(counter = 3),该方法将返回达到此点所需的迭代次数(genCounter)。

问题在于eclipse表示此方法应返回“ int”,但我确实返回了genCounter。(counter和genCounter都是int实例变量)。 从浏览互联网可以理解,问题是我没有返回其他任何东西。 但是我不希望它返回任何东西,以防万一我想从头开始。

private int isThree(){
    String coin = rg.nextBoolean()?"Heads":"Tails";
    if (coin.equals("Heads")){
        counter += 1;
    }else{
        counter = 0;
    }
    genCounter += 1;
    if (counter == 3) {
        return genCounter;
    }else{
        isThree();
    }
}

但是我不希望它返回任何东西,以防万一我想从头开始。

提示:要重复某些操作,请使用循环(也可以解决您当前的问题)。

您当前正在为此使用递归; 虽然可行,但确实会使事情复杂化。

您需要告诉该方法将调用的值返回给自身。 更改:

isThree();

return isThree();

只是

return isThree();

else应该这样做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM