Java如何返回一个从1开始的fibonacci值的数组?

我正在编写一个void函数fibFill,用Fibonacci数字填充数组.它不必返回任何东西.

这是我到目前为止所拥有的:

void fibFill(int[] fibo) {
    fibo[0] = 1;
    fibo[1] = 1;
    for (int i = 2; i < fibo.length; i++) {
        fibo[i] = fibo[i - 1] + fibo[i - 2];
    }
    int pos(int position) {
        return fibo[pos];
    }
}

例如,如果我将长度为5的数组传递给方法,它将覆盖传递的数组的内容,如下所示:[1,1,2,3,5]

解决方法:

你的fibFill方法不应该嵌入pos方法;我会让它静态(所以它可以在没有实例的情况下调用),就像

static void fibFill(int[] fibo) {
    fibo[0] = 1;
    fibo[1] = 1;
    for (int i = 2; i < fibo.length; i++) {
        fibo[i] = fibo[i - 1] + fibo[i - 2];
    }
}

然后你可以测试它

public static void main(String[] args) {
    int[] fib = new int[10];
    fibFill(fib);
    System.out.println(Arrays.toString(fib));
}

哪个输出(根据要求)从1开始的斐波纳契值

[1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
上一篇:浙大周末赛158—Fibonacci in the Pocket(C++)


下一篇:Mac与Phy组成原理的简单分析