#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)
вместо использования цикла для печати массива.