See More

import java.util.ArrayList; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); Race leman = new Race(); for (int i = 1; i <= 3; i++) {// цикл для записи имени и скорости 3-х автомобилей, и определения лидерства String name;//имя автомобиля while (true) { System.out.println("Введите название автомобиля №" + i + ":"); name = scanner.nextLine().trim();//исключаем название из одних пробелов if (!name.isEmpty()) {//проверяем не пустой ли ввод break; } else { System.out.println("Ошибка: название автомобиля не может быть пустым!"); } } int speed;//скорость автомобиля while (true) {//бесконечный цикл для обработки ошибок ввода скорости System.out.println("Введите скорость автомобиля №" + i + " (от 1 до 250 км/ч)"); String input = scanner.nextLine().trim();//в input присваиваем введенную строку if (input.matches("^[1-9]\\d{0,2}$")) {//устанавливаем правила ввода speed = Integer.parseInt(input);//преобразуем полученную строку в число if (speed > 0 && speed <= 250) {//проверяем границы введенной скорости break; } else { System.out.println("Ошибка: скорость должна быть от 1 до 250 км/ч");//сообщение об ошибке и повтор цикла } } else { System.out.println("Ошибка: скорость должна быть целым числом");//сообщение об ошибке и повтор цикла } } Car car = new Car(name, speed);//создаем автомобиль и присваиваем ему имя и скорость leman.determinateLeader(car);//определяем занял ли автомобиль лидерство } System.out.println("Результаты гонки:");//выводим результат гонки ArrayList leaders = leman.getLeaders(); if (leaders.size() == 1) {//если в таблице лидеров 1 победитель System.out.println("Самый быстрый автомобиль: " + leaders.getFirst().getName()); } else {//если в таблице лидеров больше 1 победителя System.out.println("Автомобили, разделившие первенство:"); for (Car car : leaders) { System.out.println(car.getName()); } } } }