AI摘要:本文介绍了使用Java递归实现斐波那契数列的方法。通过递归调用自身的方法,根据传入的参数n,判断是否等于1或2,如果是则直接返回1,否则返回前一个值加上前两个值的和。最后给出了一个例子,当n为3时,计算过程为method(3) = method(2) + method(1),而method(2) = 1,method(1) = 1,所以method(3)的值为2。

代码如下:

public class demo{
    public static void main(String args[]) {
        demo d = new demo();
        int n = d.method(3);
        System.out.println(n);
    }
    public int method(int n) {
        if(n == 1) {
            return 1;
    }else if(n == 2) {
            return 1;
        }else {
        return method(n - 1) + method(n - 2);
        }
    }
}

使用方法:往第4行代码(n)中传值即可。可将第4行代码省略,直接println(d.method(3));
斐波那契数列例子:1 1 2 3 5 8 13 21 34 55 89 144
原理:首先查看n是否与1或2相同,如果相同就直接返回值1;如果不相同则进行计算,返回它的前一个值加上前两个值的和,由于调用自身的方法回到参数n继续循环计算,直到n等于1或者2运算完成后返回值。
例如上面代码的是3,则是return method(3 - 1) + method(3 - 2);,之后method(2)method(1)又重新运算,因为1和2符合上方if以及if else判断的值,所以第一个method(n -1)为1,第二个method(n -2)为1,两个相加返回2。