Java技术文章技术文代码改变世界

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

2015-06-12  本文已影响688人  许宏川

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

示例代码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));

运行结果:
<pre>
5的阶乘等于:120
</pre>

示例代码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));

运行结果:
<pre>斐波那契数的第5为:3</pre>

本文代码下载:百度网盘

上一篇 下一篇

猜你喜欢

热点阅读