import java.util.InputMismatchException; import java.util.Scanner; public class Main { private static final Scanner scanner = new Scanner(System.in); private static final int PARTICIPANTS_AMOUNT = 3; public static void main(String[] args) { Race currentRace = new Race(); Car participantCar; for (int carNumber = 1; carNumber <= PARTICIPANTS_AMOUNT; carNumber++) { participantCar = inputData(carNumber); currentRace.findWinner(participantCar); } currentRace.showWinner(); scanner.close(); } private static Car inputData(int carNumber) { String speedValue, participantName = null; int participantSpeed; Car participantCar = new Car(); boolean isValid = false; while (!isValid) { try { if (participantName == null || participantName.isBlank()) { System.out.printf("â ÐведиÑе название маÑÐ¸Ð½Ñ â%d:\n", carNumber); participantName = scanner.nextLine(); participantCar.setName(participantName); } System.out.printf("â ÐведиÑе ÑкоÑоÑÑÑ Ð¼Ð°ÑÐ¸Ð½Ñ â%d:\n", carNumber); speedValue = scanner.nextLine(); participantSpeed = Integer.parseInt(speedValue); participantCar.setSpeed(participantSpeed); isValid = true; } catch (InputMismatchException | NumberFormatException e) { System.out.println("ÐÑибка: введено неÑелое ÑиÑло. ÐопÑобÑйÑе Ñнова!\n"); } catch (IllegalArgumentException e) { System.out.printf("ÐÑибка : %s. ÐопÑобÑйÑе Ñнова!\n", e.getMessage()); } } return participantCar; } }