English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основной учебник Java

Java Управление потоком

Java Массивы

Java Ориентированность на объекты (I)

Java Ориентированность на объекты (II)

Java Ориентированность на объекты (III)

Обработка исключений Java

Java Списки (List)

Java Queue (очередь)

Java Map-сборники

Java Set-сборники

Java Ввод/вывод (I/O)

Java Reader/Writer

Другие темы Java

Java программа для отображения последовательности Фибоначчи

Java полная коллекция примеров

В этой программе вы узнаете, как использовать циклы for и while в Java для отображения последовательности Фибоначчи. Вы узнаете, как отображать серию, содержащую до определенного количества терминов или чисел.

Последовательность Фибоначчи - это серия, в которой следующее значение является суммой предыдущих двух значений. Начальные значения последовательности Фибоначчи - это 0, затем 1.

Последовательность Фибоначчи: 0, 1, 1, 2, 3, 5, 8, 13, 21, ...

Пример 1: Использование цикла for для отображения последовательности Фибоначчи

public class Fibonacci {
    public static void main(String[] args) {
        int n = 10, t1 = 0, t2 = 1;
        System.out.print("First " + n + " terms: ");
        for (int i = 1; i <= n; ++i)
        {
            System.out.print(t1 + " ");
            int sum = t1 + t2;
            t1 = t2;
            t2 = sum;
        }
    }
}

При запуске программы вывод будет следующим:

0 + 1 + 1 + 2 + 3 + 5 + 8 + 13 + 21 + 34 +

В программе выше первое значение (t1) и второе значение (t2) соответственно инициализируются первыми двумя элементами последовательности Фибоначчи 0 и 1.

Затем цикл for итерируется до n (число элементов), отображая сумму первых двух элементов, хранящихся в переменной t1.

Вы также можете использовать цикл while в Java для генерации последовательности Фибоначчи.

Пример 2: Использование цикла while для отображения последовательности Фибоначчи

public class Fibonacci {
    public static void main(String[] args) {
        int i = 1, n = 10, t1 = 0, t2 = 1;
        System.out.print("First " + n + " terms: ");
        while (i <= n)
        {
            System.out.print(t1 + " ");
            int sum = t1 + t2;
            t1 = t2;
            t2 = sum;
            i++;
        }
    }
}

Вывод будет таким же, как и в предыдущей программе.

В программе выше, в отличие от цикла for,我们必须增加 i в теле цикла.

Несмотря на то, что оба программы технически правильны, в этом случае лучше использовать цикл for. Это связано с тем, что количество итераций (от 1 до n) известно.

Пример 3: Показать максимальное количество данных чисел Фибоначчи (не элементов)

public class Fibonacci {
    public static void main(String[] args) {
        int n = 100, t1 = 0, t2 = 1;
        
        System.out.print("До " + n + ": ");
        while (t1 <= n)
        {
            System.out.print(t1 + " ");
            int sum = t1 + t2;
            t1 = t2;
            t2 = sum;
        }
    }
}

При запуске программы вывод будет следующим:

До 100: 0 + 1 + 1 + 2 + 3 + 5 + 8 + 13 + 21 + 34 + 55 + 89 +

Эта программа будет отображать последовательность до заданного числа (100), а не до определенного числа.

Для этого нам нужно сравнить сумму последних двух чисел (t1) и n.

Если t1 меньше или равно n, напечатать t1.

Java полная коллекция примеров