Задача:
Напишите программу, которая запрашивает у пользователя число и выводит все числа Фибоначчи до этого числа. Java.
План:
- Алгоритм решения
- Код программы
- Примеры входных данных и ожидаемых результатов
- Объяснение кода программы
- Блок-схема
Алгоритм решения:
-
Инициализация:
- Создаем объект
Scanner
для ввода данных пользователем. - Запрашиваем у пользователя число и сохраняем его в переменную
limit
. - Инициализируем переменные
first
иsecond
значениями 0 и 1 соответственно.
- Создаем объект
-
Вывод последовательности Фибоначчи:
- Запускаем цикл
while
, который продолжается, покаfirst
не превыситlimit
. - Внутри цикла:
a. Выводим текущее значение
first
. b. Вычисляем следующее число Фибоначчи:next = first + second
. c. Обновляем значения:first = second
,second = next
.
- Запускаем цикл
-
Завершение:
- Закрываем объект
Scanner
.
- Закрываем объект
Алгоритм генерирует и выводит числа Фибоначчи, начиная с 0 и 1, до тех пор, пока очередное число не превысит заданный пользователем предел.
Код программы на языке Java:
Код Java
import java.util.Scanner;
public class FibonacciSequence {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter a number: ");
int limit = scanner.nextInt();
int first = 0;
int second = 1;
System.out.println("Fibonacci sequence up to " + limit + ":");
while (first <= limit) {
System.out.print(first + " ");
int next = first + second;
first = second;
second = next;
}
scanner.close();
}
}
Примеры входных данных и ожидаемых результатов:
Input: 10
Output:
Enter a number: 10
Fibonacci sequence up to 10:
0 1 1 2 3 5 8
Input: 100
Output:
Enter a number: 100
Fibonacci sequence up to 100:
0 1 1 2 3 5 8 13 21 34 55 89
Input: 5
Output:
Enter a number: 5
Fibonacci sequence up to 5:
0 1 1 2 3 5
Input: 1
Output:
Enter a number: 1
Fibonacci sequence up to 1:
0 1 1
Input: 0
Output:
Enter a number: 0
Fibonacci sequence up to 0:
0
Объяснение кода программы:
-
Импорт и объявление класса:
Импортируется класс Scanner для ввода данных. Объявляется публичный класс FibonacciSequence.import java.util.Scanner; public class FibonacciSequence {
-
Объявление метода main:
Определяется точка входа в программу - метод main.public static void main(String[] args) {
-
Создание объекта Scanner и ввод числа:
Создается объект Scanner для чтения ввода. Пользователю предлагается ввести число, которое сохраняется в переменную limit.Scanner scanner = new Scanner(System.in); System.out.print("Enter a number: "); int limit = scanner.nextInt();
-
Инициализация переменных для чисел Фибоначчи:
Инициализируются первые два числа последовательности Фибоначчи.int first = 0; int second = 1;
-
Вывод заголовка:
Выводится сообщение о том, что будет показана последовательность Фибоначчи до введенного числа.System.out.println("Fibonacci sequence up to " + limit + ":");
-
Цикл для генерации и вывода чисел Фибоначчи:
Цикл продолжается, пока текущее число Фибоначчи не превысит limit. На каждой итерации выводится текущее число и вычисляется следующее.while (first <= limit) { System.out.print(first + " "); int next = first + second; first = second; second = next; }
-
Закрытие Scanner:
Закрывается объект Scanner для освобождения ресурсов.scanner.close();