必须在方法中指定 return,但我希望方法再次调用自身而不是 returning
Have to specify return in method, but I want the method to call itself again instead of returning
我写了一个方法。它正在模仿抛硬币并尝试检测案例 "three heads in a row"。一旦连续出现三个正面(计数器=3),该方法到达这一点所需的迭代次数为returns(genCounter)。
问题是eclipse说这个方法应该return"int",但是我做了returngenCounter。(counter和genCounter都是int实例变量)。正如我通过浏览互联网了解到的那样,问题是我没有 returning 其他任何东西。但我不希望它成为 return 任何东西,以防万一我想从头开始我的方法。
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();
}
}
您需要告诉方法 return 调用自身的值。变化:
isThree();
到
return isThree();
But I don't want it to return anything, in case of else I want to start my method from the beginning.
提示:要重复某些操作,请使用循环(这也将解决您当前的问题)。
您目前正在为此使用递归;虽然可行,但它确实使事情变得不必要地复杂化。
刚刚
return isThree();
在else
中应该做到。
我写了一个方法。它正在模仿抛硬币并尝试检测案例 "three heads in a row"。一旦连续出现三个正面(计数器=3),该方法到达这一点所需的迭代次数为returns(genCounter)。
问题是eclipse说这个方法应该return"int",但是我做了returngenCounter。(counter和genCounter都是int实例变量)。正如我通过浏览互联网了解到的那样,问题是我没有 returning 其他任何东西。但我不希望它成为 return 任何东西,以防万一我想从头开始我的方法。
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();
}
}
您需要告诉方法 return 调用自身的值。变化:
isThree();
到
return isThree();
But I don't want it to return anything, in case of else I want to start my method from the beginning.
提示:要重复某些操作,请使用循环(这也将解决您当前的问题)。
您目前正在为此使用递归;虽然可行,但它确实使事情变得不必要地复杂化。
刚刚
return isThree();
在else
中应该做到。