import java.util.ArrayList;
import java.util.Comparator;
import java.util.Scanner;
public class Race {
private final Scanner scanner = new Scanner(System.in);
private final ArrayList cars = new ArrayList<>();
public void takeInput(String carNum) {
System.out.printf("ÐведиÑе ÑеÑез пÑобел Ð¸Ð¼Ñ Ð¸ ÑкоÑоÑÑÑ %s авÑомобилÑ. ÐбÑаÑаем внимание, ÑÑо ÑкоÑоÑÑÑ Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¼ÐµÐ½ÑÑе 1 и болÑÑе 250.%n", carNum);
String[] input = scanner.nextLine().trim().split(" ");
if (input.length != 2) { // пÑовеÑка пÑавилÑноÑÑи ввода ÑеÑез пÑобел
System.out.println("Ðе ÑоблÑден ÑоÑÐ¼Ð°Ñ Ð²Ð²Ð¾Ð´Ð°, повÑоÑиÑе ввод.");
takeInput(carNum);
return; // ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ñле оÑÑабоÑки ÑекÑÑÑивного вÑзова меÑод не пÑодолжал ÑабоÑÑ
}
while (!checkSpeed(input[1])) {
System.out.printf("ÐведиÑе ÑеÑез пÑобел Ð¸Ð¼Ñ Ð¸ ÑкоÑоÑÑÑ %s авÑомобилÑ. ÐбÑаÑаем внимание, ÑÑо ÑкоÑоÑÑÑ Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¼ÐµÐ½ÑÑе 1 и болÑÑе 250.%n", carNum);
input = scanner.nextLine().split(" ");
}
cars.add(new Car(input[0], Integer.parseInt(input[1]))); // ÑакÑиÑеÑкий ÑеÑÑÐµÑ Ð´Ð»Ñ cars
}
public static boolean checkSpeed(String speed) {
if (!(speed.matches("\\d+"))) {
System.out.println("ÐÐ»Ñ Ð²Ð²Ð¾Ð´Ð° ÑкоÑоÑÑи можно иÑполÑзоваÑÑ ÑолÑко ÑиÑÑÑ Ð¾Ñ 0 до 9");
return false;
} else if (!(Integer.parseInt(speed) > 0) || !(Integer.parseInt(speed) <= 250)) {
System.out.println("Ðведена недопÑÑÑÐ¸Ð¼Ð°Ñ ÑкоÑоÑÑÑ, повÑоÑиÑе ввод");
return false;
}
return true;
}
public String findWinner() {
cars.sort(Comparator.comparing(car -> car.getSpeed() * 24));
return String.format("ÐобедиÑелем ÑÑал авÑÐ¾Ð¼Ð¾Ð±Ð¸Ð»Ñ %s, пÑоеÑ
ав %d киломеÑÑов", cars.get(2).getName(), cars.get(2).getSpeed() * 24);
}
}