Java. Не выполняется условие цикла While
Мне понадобилось забить в массив ряд Фибоначчи до определённого значения, я попытался сделать это таким образом:
int[] arr = new int[40];
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
int i = 2;
while (arr[i] < 4000000) {
arr[i] = arr[i - 1] + arr[i - 2];
System.out.println(arr[i]);
i++;
}
При запуске условие цикла while не работает и массив забивается полностью, не останавливаясь на 4х миллионах, если добавляю в цикл:
if (arr[i] > 4000000) break;
То это помогает.
Почему не работает условие в цикле?
Ответы (1 шт):
Автор решения: Zryakys
→ Ссылка
Проблема решена, я невнимателен и ошибся в условии.
int[] arr = new int[40];
arr[0] = 1;
arr[1] = 2;
int x = 0;
for (int i = 2; arr[i-1] < 4000000; i++)
arr[i] = arr[i-1] + arr[i-2];