From d8595ca46e31145b4c8c402a6492cbc1a16bc04f Mon Sep 17 00:00:00 2001 From: Igor Avdonin Date: Wed, 19 Mar 2025 23:46:04 +0500 Subject: [PATCH] Init commit --- src/main/java/Car.java | 8 ++++++ src/main/java/Main.java | 58 +++++++++++++++++++++++++++++++++++++++-- src/main/java/Race.java | 21 +++++++++++++++ 3 files changed, 85 insertions(+), 2 deletions(-) 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..09ad8105f --- /dev/null +++ b/src/main/java/Car.java @@ -0,0 +1,8 @@ +public class Car { + String name; + int speed; + + Car() { + + } +} diff --git a/src/main/java/Main.java b/src/main/java/Main.java index db9356a08..c38dc87ff 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,6 +1,60 @@ +import java.util.Scanner; public class Main { public static void main(String[] args) { - System.out.println("Hello world!"); + System.out.println("Приветствуем тебя на этой гонке!"); + Scanner scanner = new Scanner(System.in); + Car carOne = new Car(); + Car carTwo = new Car(); + Car carThree = new Car(); + + System.out.println(" Ввод данных для первой машины "); + carOne.name = checkName(scanner); + carOne.speed = checkSpeed(scanner); + + System.out.println(" Ввод данных для второй машины "); + carTwo.name = checkName(scanner); + carTwo.speed = checkSpeed(scanner); + + System.out.println(" Ввод данных для третьей машины "); + carThree.name = checkName(scanner); + carThree.speed = checkSpeed(scanner); + + Race race = new Race(); + race.startRace(carOne, carTwo, carThree); + + scanner.close(); } -} \ No newline at end of file + + public static String checkName(Scanner scanner) { + while (true) { + System.out.print("Введите название машины (без цифр): "); + String name = scanner.nextLine(); + + if (name.matches("[a-zA-Zа-яА-Я]+")) { + System.out.println("Машина принята в гонку!"); + return name; + } else { + System.out.println("Ошибка! Введите только буквы."); + } + } + } + + public static int checkSpeed(Scanner scanner) { + while (true) { + System.out.print("Введите скорость от 0 до 250"); + if (scanner.hasNextInt()) { + int speed = scanner.nextInt(); + scanner.nextLine(); + if (speed >= 0 && speed <= 250) { + return speed; + } else { + System.out.println("Ошибка! Число должно быть от 0 до 250"); + } + } else { + System.out.println("Ошибка! Введите только число."); + scanner.next(); + } + } +} +} diff --git a/src/main/java/Race.java b/src/main/java/Race.java new file mode 100644 index 000000000..049268827 --- /dev/null +++ b/src/main/java/Race.java @@ -0,0 +1,21 @@ +public class Race { + public void startRace(Car carOne, Car carTwo, Car carThree) { + System.out.println("Да начнется гонка!"); + + int distanceOneCar = 24 * carOne.speed; + int distanceTwoCar = 24 * carTwo.speed; + int distanceThreeCar = 24 * carThree.speed; + + Car lider; + + if (distanceOneCar >= distanceTwoCar && distanceOneCar >= distanceThreeCar) { + lider = carOne; + } else if (distanceTwoCar >= distanceThreeCar) { + lider = carTwo; + } else { + lider = carThree; + } + + System.out.println("Победитель: " + lider.name + " (проехал " + (24 * lider.speed) + " км)"); + } +}