From 353e7f0fe667353d2f504bfb303081927bb698b2 Mon Sep 17 00:00:00 2001 From: Alexey Date: Tue, 10 Dec 2024 19:33:55 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D1=80=D0=BE=D0=B5=D1=82=D0=BD=D0=B0?= =?UTF-8?q?=D1=8F=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=20=E2=84=96=201?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Auto.java | 17 +++++++++++++++++ src/main/java/Main.java | 41 ++++++++++++++++++++++++++++++++++++++++- src/main/java/Race.java | 22 ++++++++++++++++++++++ 3 files changed, 79 insertions(+), 1 deletion(-) create mode 100644 src/main/java/Auto.java create mode 100644 src/main/java/Race.java diff --git a/src/main/java/Auto.java b/src/main/java/Auto.java new file mode 100644 index 000000000..1df30b03d --- /dev/null +++ b/src/main/java/Auto.java @@ -0,0 +1,17 @@ +public class Auto { + private String name; + private int speed; + + public Auto(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..fcb134d75 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,6 +1,45 @@ +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(); + + for (int i = 1; i <= 3; i++) { + System.out.println("Введите данные для автомобиля №" + i + ":"); + + String name = readCarName(scanner); + int speed = readValidSpeed(scanner); + + Auto auto = new Auto(name, speed); + race.determineNewLeader(auto); + System.out.println("Победитель гонки: " + race.getLeaderName()); + } + } + + private static String readCarName(Scanner scanner) { + System.out.print("Введите название автомобиля: "); + return scanner.nextLine(); + } + + private static int readValidSpeed(Scanner scanner) { + int speed = 0; + boolean validInput = false; + + while (!validInput) { + System.out.print("Введите скорость автомобиля (0-250 км/ч): "); + try { + speed = Integer.parseInt(scanner.nextLine()); + if (speed >= 0 && speed <= 250) { + validInput = true; + } else { + System.out.println("Неверная скорость! Попробуйте снова."); + } + } catch (NumberFormatException e) { + System.out.println("Введённое значение не является числом. Попробуйте снова."); + } + } + + return speed; } } \ 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..6400a126e --- /dev/null +++ b/src/main/java/Race.java @@ -0,0 +1,22 @@ +public class Race { + private String leaderName; + private int leaderDistance; + + public Race() { + this.leaderName = ""; + this.leaderDistance = 0; + } + + public void determineNewLeader(Auto auto) { + int distance = 24 * auto.getSpeed(); + + if (distance > leaderDistance) { + leaderName = auto.getName(); + leaderDistance = distance; + } + } + + public String getLeaderName() { + return leaderName; + } +} \ No newline at end of file