See More

import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); Race currentRace = new Race(); for (int i = 1; i <= 3; i++) { String name = readNonEmptyLine(scanner, "Введите название машины №:" + i + ":"); int speed; while (true) { System.out.println("Введите скорость машины №:" + i + "(0-250)"); if (scanner.hasNextInt()) { speed = scanner.nextInt(); if (speed >= Car.MIN_SPEED && speed <= Car.MAX_SPEED) { scanner.nextLine(); break; } else { System.out.println("Неправильная скорость"); } } else { System.out.println("Введите целое число для скорости"); scanner.next(); } } Car newCar = new Car(name, speed); currentRace.checkNewLead(newCar); } System.out.println("\nСамая быстрая машина: " + currentRace.getWinner()); scanner.close(); } private static String readNonEmptyLine(Scanner scanner, String prompt) { String input = ""; while (input.isEmpty()) { System.out.println(prompt); input = scanner.nextLine().trim(); if (input.isEmpty()) { System.out.println("Название не может быть пустым"); } } return input; } } class Car { static final int MIN_SPEED = 0; static final int MAX_SPEED = 250; final String name; final int speed; Car(String name, int speed) { this.name = name; this.speed = speed; } } class Race { private String leadRacer = ""; private int leadGap = 0; public void checkNewLead(Car car) { int distance = 24 * car.speed; if (distance > leadGap) { leadRacer = car.name; leadGap = distance; } } public String getWinner() { return leadRacer; } }