我必须编写一个递归方法,该方法将对不能用7除以间隔形式1除以参数的所有偶数之和进行计数。

我不能使用任何循环。这就是我走的路,但是我的说法似乎不正确。

有什么建议么?

public static int specialSum (int x){
    return (x % 2 == 0) && (x % 7 != 0) ? specialSum(x - 1) + 1 : 0;
}

public static void main(String[] args) {
    System.out.println(specialSum(16));
}

最佳答案

如果需要找到此类(x % 2 == 0 && x % 7 != 0)正(x > 0)数字的总和:

public static int specialSum (int x) {
    return x > 0 ?
            specialSum(x - 1) + (x % 2 == 0 && x % 7 != 0 ? x : 0) :
            0;
}

关于java - 带返回的递归方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36582485/

10-09 21:15