diff --git a/README.md b/README.md index 63be1bfe0..99f0056b4 100644 --- a/README.md +++ b/README.md @@ -1 +1,25 @@ -# Пустой репозиторий для работы с Java кодом в Android Studio +#* Программа: 24 часа Ле-Мана +* +* Описание: +* Консольное Java-приложение моделирует автогонку длительностью 24 часа. +* Пользователь вводит данные о 3 автомобилях: название и скорость (в пределах от 1 до 250 км/ч). +* После ввода программа рассчитывает, какое расстояние сможет проехать каждый автомобиль за 24 часа. +* Победителем считается машина, проехавшая наибольшее расстояние. +* +* Структура программы: +* - Класс Main: точка входа, выполняет ввод данных и вывод результата. +* - Класс Car: модель автомобиля с полями "название" и "скорость". +* - Класс Race: логика гонки — расчёт победителя по максимальному расстоянию. +* +* Валидация: +* - Скорость автомобиля должна быть в диапазоне от 1 до 250 км/ч. +* - При вводе некорректного значения пользователю предлагается повторить ввод. +* +* Вывод: +* - Название автомобиля-победителя выводится в консоль. +* +* Пример: +* Самая быстрая машина: Lamborghini +* +* Автор: [Ваше имя или никнейм] +* Версия: 1.0 diff --git a/src/main/java/Main.java b/src/main/java/Main.java index db9356a08..6122c2b26 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,6 +1,71 @@ +import java.util.ArrayList; +import java.util.List; +import java.util.Scanner; public class Main { public static void main(String[] args) { - System.out.println("Hello world!"); + Scanner scanner = new Scanner(System.in); + List cars = new ArrayList(); + System.out.println("Добро пожаловать в гонку '24 часа Ле-Мана'!"); + int carCount = 3; + for (int i = 1; i <= carCount; i++) { + System.out.println("Введите название автомобиля No" + i + ":"); + String name = scanner.nextLine(); + int speed = 0; + while (true) { + System.out.println("Введите скорость автомобиля (1-250 км/ч):"); + try { + speed = Integer.parseInt(scanner.nextLine()); + if (speed> 0 && speed <= 250) { + break; + } else { + System.out.println("Ошибка: скорость должна быть в диапазоне от 1 до 250 км/ч."); + } + } catch (NumberFormatException e) { + System.out.println("Ошибка: введите число."); + } + } + cars.add(new Car(name, speed)); + } + Race race = new Race(cars); + Car winner = race.getWinner(); + System.out.println("Самая быстрая машина: " + winner.getName()); } -} \ No newline at end of file +} + +class Car { + private final String name; + private final int speed; + public Car(String name, int speed) { + this.name = name; + this.speed = speed; + } + public int getSpeed() { + return speed; + } + public String getName() { + return name; + } + public int getDistanceAfterHours(int hours) { + return speed * hours; + } +} + +class Race { + private final List cars; + public Race(List cars) { + this.cars = cars; + } + public Car getWinner() { + Car winner = null; + int maxDistance = -1; + for (Car car : cars) { + int distance = car.getDistanceAfterHours(24); + if (distance> maxDistance) { + maxDistance = distance; + winner = car; + } + } + return winner; + } +}

AltStyle によって変換されたページ (->オリジナル) /