From 52065b85f5838ab9725ca389ebc14b9f25e49c5a Mon Sep 17 00:00:00 2001 From: Kiro Date: Sun, 23 Nov 2025 21:45:23 +0700 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B5=D0=B0=D0=BB=D0=B8=D0=B7=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=20=D0=BA=D0=BB=D0=B0=D1=81=D1=81=20Automobil?= =?UTF-8?q?e=20=D0=A0=D0=B5=D0=B0=D0=BB=D0=B8=D0=B7=D0=BE=D0=B2=D0=B0?= =?UTF-8?q?=D0=BD=20=D0=BA=D0=BB=D0=B0=D1=81=D1=81=20Race=20=D0=A0=D0=B5?= =?UTF-8?q?=D0=B0=D0=BB=D0=B8=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD=D0=B0=20=D0=BB?= =?UTF-8?q?=D0=BE=D0=B3=D0=B8=D0=BA=D0=B0=20=D0=B2=D0=B2=D0=BE=D0=B4=D0=B0?= =?UTF-8?q?=203=20=D0=BC=D0=B0=D1=88=D0=B8=D0=BD=20=D0=B8=20=D0=B2=D1=8B?= =?UTF-8?q?=D1=81=D1=87=D0=B8=D1=82=D1=8B=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=B1=D0=B5=D0=B4=D0=B8=D1=82=D0=B5=D0=BB=D1=8F=20?= =?UTF-8?q?24=20=D1=87=D0=B0=D1=81=D0=BE=D0=B2=D0=BE=D0=B9=20=D0=B3=D0=BE?= =?UTF-8?q?=D0=BD=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Main.java | 82 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 81 insertions(+), 1 deletion(-) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index db9356a08..053b91270 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,6 +1,86 @@ +import java.util.ArrayList; +import java.util.Scanner; public class Main { public static void main(String[] args) { - System.out.println("Hello world!"); + ArrayList automobiles = new ArrayList<>(); + Scanner scanner = new Scanner(System.in); + + for (int i = 1; i <= 3; i++) { + System.out.println("— Введите название машины №" + i); + String name = scanner.nextLine().trim(); + + while (name.isEmpty()) { + System.out.println("— Название не может быть пустым"); + System.out.println("— Введите название машины №" + i); + name = scanner.nextLine().trim(); + } + + int speed = -1; + boolean validSpeed = false; + + while (!validSpeed) { + System.out.println("— Введите скорость машины №" + i); + String speedInput = scanner.nextLine().trim(); + + if (speedInput.isEmpty()) { + System.out.println("— Неправильная скорость."); + continue; + } + + try { + speed = Integer.parseInt(speedInput); + + if (speed < 0 || speed > 250) { + System.out.println("— Неправильная скорость."); + } else { + validSpeed = true; + } + } catch (NumberFormatException e) { + System.out.println("— Неправильная скорость."); + } + } + + automobiles.add(new Automobile(name, speed)); + } + + Automobile winner = Race.calculateWinner(automobiles); + System.out.println("Самая быстрая машина: " + winner.name); + + scanner.close(); + } +} + +class Race { + public static Automobile calculateWinner(ArrayList automobiles) { + Automobile winner = automobiles.getFirst(); + double maxDistance = calculateDistance(winner); + + for (int i = 1; i < automobiles.size(); i++) { + Automobile currentAuto = automobiles.get(i); + double currentDistance = calculateDistance(currentAuto); + + if (currentDistance > maxDistance) { + maxDistance = currentDistance; + winner = currentAuto; + } + } + + return winner; + } + + + private static double calculateDistance(Automobile automobile) { + return automobile.speed * 24; + } +} + +class Automobile { + String name; + Integer speed; + + Automobile(String autoname, Integer autospeed) { + name = autoname; + speed = autospeed; } } \ No newline at end of file