美文网首页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