【发布时间】:2018-05-29 03:14:12
【问题描述】:
我正在尝试制作这种递归方法。
public int addWithFactors(int[] a, int n) {
int sum = 0;
for (int i = 0; i < n; i++) {
sum = sum + (i + 1) * a[i];
}
return sum;
}
我试图用 if 语句代替 for 循环:
if (n == 0) {...}
但我不知道递归等价物是什么
【问题讨论】:
-
要使用递归方法,您必须在其中调用 addWithFactors。
-
public static int addWithFactors(int[] a, int i) { return i < a.length ? a[i] * (i + 1) + addWithFactors(a, i + 1) : 0; }