diff --git a/src/main/java/Car.java b/src/main/java/Car.java new file mode 100644 index 00000000..1ec479c7 --- /dev/null +++ b/src/main/java/Car.java @@ -0,0 +1,9 @@ +public class Car { + String name; + int speed; + + public Car(String name, int speed) { + this.name = name; + this.speed = speed; + } +} diff --git a/src/main/java/Main.java b/src/main/java/Main.java index a9198c43..e4b40bba 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,8 +1,52 @@ +import java.util.ArrayList; +import java.util.Scanner; + public class Main { public static void main(String[] args) { - // ваш код начнется здесь - // вы не должны ограничиваться только классом Main и можете создавать свои классы по необходимости - System.out.println("Привет Мир"); + + Scanner scanner = new Scanner(System.in); + Race race = new Race(); + + // + System.out.println("Перед гонкой зарегистрируйте автомобили"); + + for (int i = 0; i < 3; i++) { + String carName = ""; + int carSpeed = -1; + + while (carName.isEmpty()) { + System.out.print("Название автомобиля #" + (i + 1) + ": "); + carName = scanner.nextLine(); + } + + while (true) { + System.out.print("Скорость автомобиля #" + (i + 1) + ": "); + carSpeed = scanner.hasNextInt() ? scanner.nextInt() : -1; + + if (carSpeed < 0 || carSpeed > 250) { + System.out.println("Скорость автомобиля должна быть в значении от 0 до 250"); + scanner.next(); + } else { + break; + } + } + + race.Registration(new Car(carName, carSpeed)); + scanner.nextLine(); + } + + System.out.println(); + System.out.println("Регистрация автомобилей завершена, старт гонки..."); + + //Запускаем гонку на 24 часа + race.Start(24); + + Car winner = race.getWinner(); + + //Выводим победителя + System.out.println(); + System.out.println("Самая быстрая машина: " + winner.name + ", со скоростью " + winner.speed); + } } diff --git a/src/main/java/Race.java b/src/main/java/Race.java new file mode 100644 index 00000000..fe391ef9 --- /dev/null +++ b/src/main/java/Race.java @@ -0,0 +1,36 @@ +import java.util.ArrayList; + +public class Race { + + Car winner = null; + ArrayList cars = new ArrayList<>(); + + private int calcDistance(Car car, int hours) { + return car.speed * hours; + } + + public void Registration(Car car) { + cars.add(car); + } + + public void Start(int raceHours) { + + winner = null; + for (int i = 0; i < cars.size(); i++) { + Car car = cars.get(i); + if (winner == null) { + winner = car; + } else { + if (calcDistance(car, raceHours) > calcDistance(winner, raceHours)) { + winner = car; + } + } + } + + } + + public Car getWinner() { + return winner; + } + +}