import java.util.Scanner; public class Main { private static final Scanner scanner = new Scanner(System.in); private static final int CAR_COUNT = 3; private static final double MIN_SPEED = 0; private static final double MAX_SPEED = 250; public static void main(String[] args) { System.out.println("ÐобÑо пожаловаÑÑ Ð½Ð° гонкÑ! ÐведиÑе даннÑе о 3 авÑомобилÑÑ ."); Race race = new Race(); for (int i = 1; i <= CAR_COUNT; i++) { System.out.println("\nÐведиÑе даннÑе Ð´Ð»Ñ Ð°Ð²ÑÐ¾Ð¼Ð¾Ð±Ð¸Ð»Ñ â" + i + ":"); Car car = createCar(); race.addCar(car); } race.determineLeader(); Car leader = race.getLeader(); if (leader != null) { System.out.println("\nÐ¡Ð°Ð¼Ð°Ñ Ð±ÑÑÑÑÐ°Ñ Ð¼Ð°Ñина: " + leader.getName()); } else { System.out.println("\nÐе ÑдалоÑÑ Ð¾Ð¿ÑеделиÑÑ Ð»Ð¸Ð´ÐµÑа гонки."); } scanner.close(); } private static Car createCar() { String name = getCarName(); double speed = getValidSpeed(); return new Car(name, speed); } private static String getCarName() { System.out.print("Ðазвание авÑомобилÑ: "); return scanner.nextLine(); } private static double getValidSpeed() { double speed; while (true) { System.out.print("СкоÑоÑÑÑ Ð°Ð²ÑÐ¾Ð¼Ð¾Ð±Ð¸Ð»Ñ (км/Ñ): "); try { speed = Double.parseDouble(scanner.nextLine()); if (speed > MIN_SPEED && speed <= MAX_SPEED) { break; } else { System.out.println("ÐÑибка: ÑкоÑоÑÑÑ Ð´Ð¾Ð»Ð¶Ð½Ð° бÑÑÑ Ð±Ð¾Ð»ÑÑе 0 и не пÑевÑÑаÑÑ 250 км/Ñ. ÐопÑобÑйÑе еÑÑ Ñаз."); } } catch (NumberFormatException e) { System.out.println("ÐÑибка: введиÑе коÑÑекÑное ÑиÑловое знаÑение ÑкоÑоÑÑи."); } } return speed; } }