diff --git a/src/main/java/Car.java b/src/main/java/Car.java new file mode 100644 index 000000000..1ec479c7f --- /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 db9356a08..42213bca2 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,6 +1,51 @@ +import java.util.Scanner; public class Main { + public static void main(String[] args) { - System.out.println("Hello world!"); + game(); + } + + public static void game() { + final int NUMBER_PLAYERS = 3; + final int SPEED_MIN = 0; + final int SPEED_MAX = 250; + Race race = new Race(); + Scanner scanner = new Scanner(System.in); + + System.out.println("Начинаем гонку!"); + for (int i = 0; i < NUMBER_PLAYERS; i++) { + String carName; + int carSpeed; + + System.out.println(String.format("Введите название машины No%d:", i + 1)); + String name = scanner.next(); + carName = name.trim(); + + System.out.println(String.format("Введите скорость машины No%d:", i + 1)); + while (true) { + if (!scanner.hasNextInt()) { + scanner = new Scanner(System.in); + System.out.println("Введите целое число"); + continue; + } + int speed = scanner.nextInt(); + + if (speed <= SPEED_MIN || speed> SPEED_MAX) { + System.out.println(String.format("Скорость должна быть>%d и ⩽%d", SPEED_MIN, SPEED_MAX)); + continue; + } + + carSpeed = speed; + break; + } + + Car newCar = new Car(carName, carSpeed); + race.addCar(newCar); + } + + scanner.close(); + System.out.println(String.format("Самая быстрая машина: %s", race.getLeader().name)); + System.out.println(String.format("пройденая дистанция: %d", race.getDistance())); } -} \ 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..97ae3628b --- /dev/null +++ b/src/main/java/Race.java @@ -0,0 +1,22 @@ +public class Race { + private Car leader = new Car("", 0); + private int distance; + private static final int DURATION_RACE = 24; + + public void addCar(Car car) { + int distance = car.speed * DURATION_RACE; + if (distance> this.distance) { + this.leader = car; + this.distance = distance; + } + } + + public Car getLeader() { + return this.leader; + } + + public int getDistance() { + return this.distance; + } + +}