![](/img/trans.png)
[英]Mocking private method call using PowerMockito returns null instead of returning List<String>: (Want not to execute private method)
[英]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.