import java.util.Scanner; public class Main { private static final int FIRST_CAR = 1; private static final int SECOND_CAR = 2; private static final int THIRD_CAR = 3; private static final int MIN_SPEED = 0; private static final int MAX_SPEED = 250; public static void main(String[] args) { System.out.println("ÐобÑо пожаловаÑÑ Ð² ÑамÑÑ ÑеалиÑÑиÑнÑÑ Ð³Ð¾Ð½Ð¾ÑнÑÑ Ð¸Ð³ÑÑ!"); Scanner scanner = new Scanner(System.in); Car carOne = getCarFromUser(scanner, FIRST_CAR); Car carTwo = getCarFromUser(scanner, SECOND_CAR); Car carThree = getCarFromUser(scanner, THIRD_CAR); defineLeaderAndTextOut(carOne, carTwo, carThree); } public static Car getCarFromUser(Scanner scanner, int carNumber) { String carModel = ""; boolean isValid = false; while (!isValid) { System.out.println("ÐведиÑе название маÑÐ¸Ð½Ñ â " + carNumber); carModel = scanner.nextLine().trim(); if (!carModel.isEmpty()) { isValid = true; } else { System.err.println("ÐÑибка: ÐедопÑÑÑимое название авÑомобилÑ. ÐожалÑйÑÑа, попÑобÑйÑе Ñнова."); } } int carSpeed; System.out.println("ÐведиÑе ÑкоÑоÑÑÑ Ð¼Ð°ÑÐ¸Ð½Ñ â " + carNumber); do { try { carSpeed = Integer.parseInt(scanner.nextLine()); if (carSpeed < MIN_SPEED || carSpeed > MAX_SPEED) { System.out.println("ÐведиÑе коÑÑекÑнÑÑ ÑкоÑоÑÑÑ Ð¼Ð°ÑÐ¸Ð½Ñ â " + carNumber + "!"); continue; } break; } catch (NumberFormatException e) { System.err.println("ÐÑибка ввода: ÑкоÑоÑÑÑ Ð´Ð¾Ð»Ð¶Ð½Ð° бÑÑÑ ÑелÑм ÑиÑлом."); } } while (true); return new Car(carSpeed, carModel); } public static void defineLeaderAndTextOut(Car one, Car two, Car three) { Race.defineLeaderFromParticipants(one, two, three); Car raceLeader = Race.getLeader(); System.out.println("ÐÐ¾Ð½ÐºÑ Ð²ÑигÑал авÑÐ¾Ð¼Ð¾Ð±Ð¸Ð»Ñ " + raceLeader.getModel()); } }