Java 使用数组而不使用递归技术的斐波那契序列

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: ");

我正在尝试生成一个代码,用数组来显示斐波那契序列我确实生成了一个代码,它有正确的解决方案,但我觉得太长了,因为讲师告诉我们最多需要5行代码 因此,方法如下:

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;iarray[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] + " ");
    }
}