这是代码,我不明白
public class main {
public static void main(String[] args) {
int result = sum(10);
System.out.println(result);
}
public static int sum(int k) {
if (k > 0) {
return k + sum(k - 1);
} else {
return 0;
}
}
}
结果是55
答案 0 :(得分:0)
这是一种递归方法。
只要k > 0
,该方法将以较小的值k
进行调用。
初始呼叫sum(10)
返回
10 + sum(9) == 10 + 45 == 55
sum(9)
返回
9 + sum(8) == 9 + 36 == 45
sum(8)
返回
8 + sum(7) == 8 + 28 == 36
...
sum(2)
返回
2 + sum(1) == 2 + 1 == 3
sum(1)
返回
1 + sum(0) == 1 + 0 == 1
sum(0)
返回0。
因此,该方法返回0到10之间的所有整数之和,即55。