See More

import static java.lang.Short.parseShort; import java.util.Scanner; public class Main { public static short readSpeed(int carNumber) { short speed = -1; Scanner scanner = new Scanner(System.in); do { System.out.println("Введите скорость машины №" + carNumber + ":"); String input = scanner.next(); try { speed = parseShort(input); } catch (NumberFormatException ignored) { System.out.println("Введённое значение не удаётся преобразовать в целое число"); continue; } if (speed <= 0 || speed > 250) { System.out.println("Скорость должна быть положительным числом, не большим 250"); continue; } break; } while (true); return speed; } public static String readName(int carNumber) { Scanner scanner = new Scanner(System.in); String nameOfCar; do { System.out.println("Введите название машины №" + carNumber + ":"); nameOfCar = scanner.next(); if (nameOfCar.isEmpty()) { System.out.println("Имя не может быть пустым"); } } while(nameOfCar.isEmpty()); return nameOfCar; } public static Car createCar(int carNumber) { String nameOfCar = readName(carNumber); short speedOfCar = readSpeed(carNumber); return new Car(nameOfCar, speedOfCar); } public static void main(String[] args) { Car car1 = createCar(1); Car car2 = createCar(2); Car car3 = createCar(3); Race race = new Race(car1, car2, car3); System.out.println("Самая быстрая машина: " + race.whoIsLeader()); } }