看百度百科总是比较专业的回答,还是看看某乎 什么是递归?
下面有一张图说的是抱起小鲤鱼那个有点意思。
题目:
假设现在有 n 个人,第一个人年龄为 10,第二个人年龄为 12,第三个人年龄 14,后一人年龄比前一人年龄多 2,用递归方法算出第8个人年龄。
这时候千万不能去 for
了,注意递归递归递归!
实际代码:
public class main {
public static void main(String[] args) {
System.out.println(computeAge(8));
}
public static int computeAge(int n) {
return n == 1 ? 10 : computeAge(n - 1) + 2;
// 看不惯三目运算下面的代码也可以
// if (n == 1) {
// return 10;
// } else {
// return computeAge(n - 1) + 2;
// }
}
}