diff --git a/src/main/java/Car.java b/src/main/java/Car.java new file mode 100644 index 000000000..0ae51ae65 --- /dev/null +++ b/src/main/java/Car.java @@ -0,0 +1,5 @@ +class Car { + String name; + int speed; + int distance; +} \ No newline at end of file diff --git a/src/main/java/Main.java b/src/main/java/Main.java index db9356a08..96539eb8d 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,6 +1,57 @@ +import java.util.InputMismatchException; +import java.util.List; +import java.util.Scanner; public class Main { public static void main(String[] args) { - System.out.println("Hello world!"); + Car car1 = new Car(); + Car car2 = new Car(); + Car car3 = new Car(); + + Scanner scanner = new Scanner(System.in); + + System.out.println("Введите название машины №1: "); + car1.name = scanner.next(); + car1.speed = getSpeed(scanner, "машины №1"); + + System.out.println("Введите название машины №2: "); + car2.name = scanner.next(); + car2.speed = getSpeed(scanner, "машины №2"); + + System.out.println("Введите название машины №3: "); + car3.name = scanner.next(); + car3.speed = getSpeed(scanner, "машины №3"); + + System.out.println("Данные автомобилей успешно введены!"); + + List winners = Race.findWinner(car1, car2, car3); + + if (winners.size() == 1) { + System.out.println("Победитель в гонке: " + winners.getFirst().name); + } else { + System.out.println("Победители в гонке: "); + for (Car winner : winners) { + System.out.println(winner.name); + } + } + } + + private static int getSpeed(Scanner scanner, String carNumber) { + int speed; + while (true) { + System.out.println("Введите скорость (только целое число от 0 до 250) для " + carNumber + ":"); + try { + speed = scanner.nextInt(); + if (speed < 0 || speed > 250) { + System.out.println("Введена некорректная скорость. Пожалуйста, введите значение от 0 до 250."); + } else { + break; + } + } catch (InputMismatchException e) { + System.out.println("Ошибка: Введено не целое число. Пожалуйста, введите целое число."); + scanner.next(); + } + } + 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..d12c833cb --- /dev/null +++ b/src/main/java/Race.java @@ -0,0 +1,23 @@ +import java.util.ArrayList; +import java.util.List; + +class Race { + public static List findWinner(Car car1, Car car2, Car car3) { + List winners = new ArrayList<>(); + int maxSpeed = Math.max(car1.speed, Math.max(car2.speed, car3.speed)); + + if (car1.speed == maxSpeed) { + car1.distance = car1.speed * 24; + winners.add(car1); + } + if (car2.speed == maxSpeed) { + car2.distance = car2.speed * 24; + winners.add(car2); + } + if (car3.speed == maxSpeed) { + car3.distance = car3.speed * 24; + winners.add(car3); + } + return winners; + } +} \ No newline at end of file