diff --git a/src/main/java/Car.java b/src/main/java/Car.java new file mode 100644 index 000000000..b5430f2c8 --- /dev/null +++ b/src/main/java/Car.java @@ -0,0 +1,9 @@ +public class Car { + String name; + int speed; + + Car(String name, int speed){ + this.name = name; + this.speed = speed; + } +} \ No newline at end of file diff --git a/src/main/java/Main.java b/src/main/java/Main.java index db9356a08..12af97d13 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,6 +1,60 @@ +import java.util.ArrayList; +import java.util.Scanner; public class Main { public static void main(String[] args) { - System.out.println("Hello world!"); + + Race race = new Race(); + Scanner scanner = new Scanner(System.in); + ArrayList cars = new ArrayList<>(); + int raceParticipants; + + while (true) { + System.out.println("Введите количество участников: "); + if (!scanner.hasNextInt()) { + System.out.println("Ошибка ввода"); + scanner.next(); + } + else { + raceParticipants = scanner.nextInt(); + scanner.nextLine(); + break; + } + } + + for (int i = 1; i <= raceParticipants; i++) { + + System.out.println(String.format("Введите название %d машины: ", i)); + String name = scanner.nextLine(); + + while (true){ + System.out.println(String.format("Введите скорость %d машины: ", i)); + if (!scanner.hasNextInt()){ + System.out.println("Ошибка - Скорость должна быть целым числом"); + scanner.next(); + continue; + } + + int speed = scanner.nextInt(); + scanner.nextLine(); + + if (speed > 0 && speed <= 250){ + Car car = new Car(name, speed); + cars.add(car); + break; + } + else { + System.out.println("Ошибка - Скорость должна быть выше 0 и меньше 251"); + } + } + } + + System.out.println("Список участников гонки: "); + for (Car getCar : cars) { + System.out.println(String.format("Название - %s; Скорсть - %d", getCar.name, getCar.speed)); + } + + Car winner = race.getLeader(cars); + System.out.println("Победитель " + winner.name); } } \ 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..dacc0c37f --- /dev/null +++ b/src/main/java/Race.java @@ -0,0 +1,22 @@ +import java.util.ArrayList; + +public class Race { + + int calculateDistance(int speed){ + return speed * 24; + } + + Car getLeader(ArrayList cars){ + Car leader = cars.get(0); + int leaderDistance = calculateDistance(leader.speed); + + for (Car car : cars){ + int distance = calculateDistance(car.speed); + if (distance > leaderDistance){ + leaderDistance = distance; + leader = car; + } + } + return leader; + } +} \ No newline at end of file