不能返回斐波那契序列

时间:2016-02-13 19:54:09

标签: java

我试图在java中返回fibonacci序列,但我的值有问题。

示例代码。

@Override
public int fibonacci(int numero) throws RemoteException {
    int numero1 = 1;
    int numero2 = 0;
    int fibonacci = 0;
    for (int i = 0; i <= numero; i++) {
        fibonacci = numero1 + numero2;
        numero1 = numero2;
        numero2 = fibonacci;
        //return "La serie fibonnaci es:" + fibonacci;
    }
    return fibonacci;

}

Fibonacci变量返回0但我需要返回一个fibonnaci序列。 ¿有什么想法吗?

2 个答案:

答案 0 :(得分:2)

针对您的问题的两个问题:

排名第一:在屏幕上打印

public static void fibonacci(int numero) {
    int numero1 = 0;
    int numero2 = 1;
    int fibonacci = 0;
    for (int i = 0; i <= numero; i++) {
        fibonacci = numero1 + numero2;
        numero1 = numero2;
        numero2 = fibonacci;
        System.out.println(fibonacci);
    }
}

排名第二 (我认为更好):返回列表

public static List<Integer> fibonacci(int numero) {
    LinkedList<Integer> fibonacciSequence = new LinkedList<>();
    int numero1 = 0;
    int numero2 = 1;
    int fibonacci = 0;
    for (int i = 0; i <= numero; i++) {
        fibonacci = numero1 + numero2;
        numero1 = numero2;
        numero2 = fibonacci;
        fibonacciSequence.add(fibonacci);
    }
    return fibonacciSequence;
}

答案 1 :(得分:0)

您在初始化期间切换了numero1numero2

这应该解决它:

int numero1 = 0;
int numero2 = 1;