【精致Java教程】30:递归方法

【精致Java教程】30:递归方法_第1张图片

所谓递归方法就是方法自己调自己,这个看两个例子就能理解了。

示例代码1:用递归来算整数n的阶乘。

public int factorial(int n) {
    if (n == 1) {
        return 1;
    } else {
        return n * factorial(n - 1);
    }
}

测试代码:

int i = 5;
Recursion r = new Recursion();
System.out.println(i + "的阶乘等于:" + r.factorial(i));

运行结果:


5的阶乘等于:120

示例代码2:用递归来算斐波那契数列的第n个数。

public int fibonacci(int n) {
    if (n == 1) {
        return 0;
    } else if (n == 2) {
        return 1;
    } else {
        return fibonacci(n - 1) + fibonacci(n - 2);
    }
}

测试代码:

int i = 5;
Recursion r = new Recursion();
System.out.println("斐波那契数的第" + i + "为:" + r.fibonacci(i));

运行结果:

斐波那契数的第5为:3

本文代码下载:百度网盘

你可能感兴趣的:(【精致Java教程】30:递归方法)