java - 带返回值的递归方法

标签 java recursion methods sum return

我必须编写一个递归方法,以 1 的间隔形式计算所有不能被 7 整除的偶数之和,直到参数为止。

我无法使用任何循环。这就是我的观点,但看来我的说法并不正确。

有什么建议吗?

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/

相关文章:

java - 不能使用另一个类的方法吗?

java - 如何通过 HTTP 代理连接 SSL 套接字?

ruby - 如何从 Ruby 中的阶乘方法中排除 float ?

c++ - 在 C++ 中使用默认构造函数

ios - 方向改变后放置方法的理想位置

Java套接字: Connection reset

Java:有人知道检测互联网连接质量的库吗?

c++ - 如何使用 TBB 多线程 "tail call"递归

c++ - 析构函数、图和递归

java - 方法中的方法替换 boolean 语句