首页 > 解决方案 > 为什么Java递归代码不能正常工作?返回错误输出

问题描述

为什么递归无法计算所有可能性但只计算一个?

我的代码最初是为了检查数字的数量:可以添加 1,2,3,4 以给出 10。尽管它每次都返回 1...

我一直在网上寻找答案,但没有得到很好的结果,有人知道如何解决吗?

编码:

public class main {
    static int count = 0;
    public static boolean work(int i){
        if (i == 10){
            count +=1;
            return true;
        }else if(i>10){
            return false;
        }
        return work(i+4)||work(i+3)||work(i+2)||work(i+1);
    }

    public static void main(String[] args) {

        work(0);
        System.out.println(count);
        
    }

}

标签: javarecursion

解决方案


推荐阅读