我必须编写一个递归方法,以 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/