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

标签 java methods return

我写了一个方法。它是在模仿抛硬币,试图检测一个“连续三个正面朝上”的案例。一旦连续出现三个正面(计数器 = 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();
    }
}

最佳答案

But I don't want it to return anything, in case of else I want to start my method from the beginning.

提示:要重复某些 Action ,请使用循环(这也将解决您当前的问题)。

您目前正在为此使用递归;虽然可行,但它确实使事情变得不必要地复杂化。

关于java - 必须在方法中指定返回,但我希望方法再次调用自身而不是返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27731585/

相关文章:

Java静态线程安全

Java 在构造函数之前调用方法

java - 有什么办法可以从循环中返回一个值并从我离开的地方继续吗?

javascript - 如何从另一个函数中停止 javascript 函数?

c# - 使用显式接口(interface)防止意外修改 C# 中的属性

java - PowerMockito:使用 PowerMickito 模拟静态方法时出现 java.lang.NoSuchMethodError

java - 正则表达式掩盖电话号码

java - 在 Java 中初始化最终字段

java - 有人可以解释 Java 中的 void 返回类型吗?

java - 让线程等待与停止和启动