From 904d63cbac14550eec7812d5879a6f94c85b20e7 Mon Sep 17 00:00:00 2001 From: Polina Date: Sat, 20 Dec 2025 12:54:55 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=BE=D0=BF=D1=8B=D1=82=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=BD=D0=B0=D0=BF=D0=B8=D1=81=D0=B0=D1=82=D1=8C=20=D0=B3=D0=BE?= =?UTF-8?q?=D0=BD=D0=BA=D0=B8=20=D0=BD=D0=BE=D0=BC=D0=B5=D1=80=20=D1=80?= =?UTF-8?q?=D0=B0=D0=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Car.java | 19 +++++++++++++++++ src/main/java/Main.java | 47 ++++++++++++++++++++++++++++++++++++++++- src/main/java/Race.java | 21 ++++++++++++++++++ 3 files changed, 86 insertions(+), 1 deletion(-) create mode 100644 src/main/java/Car.java create mode 100644 src/main/java/Race.java diff --git a/src/main/java/Car.java b/src/main/java/Car.java new file mode 100644 index 000000000..6da2decba --- /dev/null +++ b/src/main/java/Car.java @@ -0,0 +1,19 @@ +public class Car { + private String name; + private int speed; + + public Car(String name, int speed) { + this.name = name; + this.speed = speed; + } + + public String getName() { + return name; + } + + public int getSpeed() { + return speed; + } + +} + diff --git a/src/main/java/Main.java b/src/main/java/Main.java index db9356a08..9e529921a 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,6 +1,51 @@ +import java.util.Scanner; public class Main { public static void main(String[] args) { - System.out.println("Hello world!"); + Scanner scanner = new Scanner(System.in); + Race race = new Race(); + + System.out.println("24 часа Ле-Мана"); + + for (int i = 1; i <= 3; i++) { + System.out.println("\nАвтомобиль №" + i); + System.out.println("Введите название машины: "); + String carName = scanner.nextLine(); + + while (carName.trim().isEmpty()) { + System.out.println("Ошибка: название не может быть пустым!"); + System.out.println("Введите название машины:"); + carName = scanner.nextLine(); + } + + int carSpeed = 0; + boolean speedIsCorrect = false; + + while (!speedIsCorrect) { + System.out.println("Введите скорость машины: "); + + if (scanner.hasNextInt()) { + carSpeed = scanner.nextInt(); + scanner.nextLine(); + + if (carSpeed > 0 && carSpeed <= 250) { + speedIsCorrect = true; + } else if (carSpeed <= 0) { + System.out.println("Ошибка: скорость должна быть больше 0!"); + } else { + System.out.println("Неправильная скорость!"); + } + } else { + System.out.println("Ошибка: введите целое число!"); + scanner.nextLine(); + } + } + + Car car = new Car(carName, carSpeed); + race.updateLeader(car); + } + + scanner.close(); + System.out.println("\n" + race.getWinner()); } } \ No newline at end of file diff --git a/src/main/java/Race.java b/src/main/java/Race.java new file mode 100644 index 000000000..01de0c81b --- /dev/null +++ b/src/main/java/Race.java @@ -0,0 +1,21 @@ +public class Race { + private String leaderName; + private int leaderDistance; + + public Race() { + this.leaderName = ""; + this.leaderDistance = 0; + } + public void updateLeader(Car car) { + int carDistance = car.getSpeed() * 24; + + if (carDistance > leaderDistance) { + leaderName = car.getName(); + leaderDistance = carDistance; + } + } + + public String getWinner() { + return "Самая быстрая машина: " + leaderName; + } +}