我正在写一个空函数fibFill
,它用斐波那契数字填充数组。它不必返回任何东西。
这是我到目前为止的内容:
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
(这样就可以在没有实例的情况下调用它),例如
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]