как распечатать массив с помощью расширенных циклов

#java #for-loop #fibonacci

Вопрос:

Так что по мере запуска моей программы она выполняет некоторые вычисления для последовательности Фибоначчи. Я легко могу распечатать эти 20 последовательностей Фибоначчи в for цикле, но я просто хочу выполнить вычисления, чтобы заполнить Fib массив и выполнить печать в расширенном цикле. Как я могу сделать это с улучшенным циклом for?

 public static void main(String[] args) {
                
        int[] Fib = new int[20];
        Fib[0] = 0;
        Fib[1] = 1;
        System.out.printf("%d %d", Fib[0], Fib[1]);
        for (int i = 2; i < Fib.length; i  ) {

            Fib[2] = Fib[0]   Fib[1];
            
            Fib[0] = Fib[1];
            Fib[1] = Fib[2];
            System.out.print(" " Fib[2]); 

            for (int x : Fib) {
                 x = Fib[2];
                System.out.print(" " x);;
            }

        }

    }
 

Ответ №1:

Ваш код содержит несколько ошибок, и основными из них являются:

Fib[2] = Fib[0] Fib[1]; это должно быть Fib[i] = Fib[i - 1] Fib[i - 2];
Еще одна ошибка-вложенность для циклов. Расширенный цикл for должен быть после цикла с индексом i .

 int[] Fib = new int[20];
Fib[0] = 0;
Fib[1] = 1;

for (int i = 2; i < Fib.length; i  ) {
    Fib[i] = Fib[i - 1]   Fib[i - 2];
}

for (int number : Fib) {
    System.out.print(" "   number);
}
 

Вы можете использовать Arrays.toString(Fib) вместо использования цикла для печати массива.