美文网首页Java技术文章技术文代码改变世界
【精致Java教程】30:递归方法

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

作者: 许宏川 | 来源:发表于2015-06-12 12:41 被阅读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>

本文代码下载:百度网盘

相关文章

网友评论

    本文标题:【精致Java教程】30:递归方法

    本文链接:https://www.haomeiwen.com/subject/sqvjqttx.html