Java 使用数组而不使用递归技术的斐波那契序列
我正在尝试生成一个代码,用数组来显示斐波那契序列我确实生成了一个代码,它有正确的解决方案,但我觉得太长了,因为讲师告诉我们最多需要5行代码 因此,方法如下:Java 使用数组而不使用递归技术的斐波那契序列,java,arrays,Java,Arrays,我正在尝试生成一个代码,用数组来显示斐波那契序列我确实生成了一个代码,它有正确的解决方案,但我觉得太长了,因为讲师告诉我们最多需要5行代码 因此,方法如下: public static void fibonacci_array_calc(int[] array) { int result; System.out.println("Fibonacci Series of " + array.length + " numbers: ");
public static void fibonacci_array_calc(int[] array) {
int result;
System.out.println("Fibonacci Series of " + array.length + " numbers: ");
if (array.length == 0 || array.length == 1) {
for(int i = 0;i < array.length; i++)
System.out.print(array[i] + " ");
} else {
for (int i = 0; i <= 1; i++) {
result = array[i] = i;
System.out.print(result + " ");
if (array[i] >= 1) {
for (int j = 2; j < array.length; i++, j++) {
result = (array[j] = (array[i] + array[i - 1]));
System.out.print(result + " ");
}
}
}
}
}
不允许使用递归技术。有没有办法缩短此代码?通过对数组[i]使用条件赋值,可以大大简化代码。无论输入数组的长度如何,都可以使用此赋值:
public static void fibonacci_array_calc(int[] array) {
System.out.println("Fibonacci Series of " + array.length + " numbers: ");
for (int i = 0; i < array.length; i++) {
array[i] = i <= 1 ? i : array[i-2] + array[i-1];
System.out.print(array[i] + " ");
}
}
公共静态void fibonacci_数组_计算(int[]数组){
System.out.println(“Fibonacci系列的“+array.length+”数字:”);
for(int i=0;i array[i]=i@Arwa不用担心-我很高兴能帮上忙。你不需要内部循环。实际上,你甚至不需要数组,只需要前面的两个结果。不,我需要使用数组,因为它是必需的,但无论如何,谢谢
public static void fibonacci_array_calc(int[] array) {
System.out.println("Fibonacci Series of " + array.length + " numbers: ");
for (int i = 0; i < array.length; i++) {
array[i] = i <= 1 ? i : array[i-2] + array[i-1];
System.out.print(array[i] + " ");
}
}