【发布时间】:2016-08-03 14:38:01
【问题描述】:
我必须编写一个递归方法,该方法将计算所有偶数的总和,这些偶数不能与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));
}
【问题讨论】:
-
在哪些方面“不正确”?
-
你是在数数还是求和?
-
如果是数字 16,我的结果是 31。(应该是这样的:16 + 12 + 10 + 8 + 6 + 4 + 2,他应该跳过 14,因为它可以除以7) 为什么是 31?好吧,我认为他得到了前两个数字 16、15,然后他就停止了,所以我的陈述不太好。
标签: java recursion methods sum return