2015-11-10 70 views
0

有人知道为什么这个答案是12而不是10?主要方法的递归

public static int recurse (int x) { 
if (x < 1) 
return x; 
else 
return (x + recurse (x-2)); 
} 
public static void main(String [] args) { 
System.out.println (recurse(6)); 
} 
+3

因为6 + 4 + 2 + 0是12而不是10。 – rici

回答

0

您可以使用Rubber Duck Debugging理解为什么它的计算结果为12,你可以解释给你的鸭子开始,“因为6是不小于1,递归(6)是一样的6 +递归(6 - 2)“。