See More

import java.util.Scanner; class Car { String name; int speed; public Car(String name, int speed) { this.name = name; this.speed = speed; } String getName(){ return name; } int distanceCalc(){ return speed * 24; } } class Race { String carLeader = ""; int distanceLeader = 0; public void newLeader(Car car) { int distance = car.distanceCalc(); if (distance > distanceLeader) { distanceLeader = distance; carLeader = car.getName(); } } String getCarName() { return carLeader; } } public class Main { static Scanner scanner = new Scanner(System.in); public static void main(String[] args) { System.out.println("«24 часа Ле-Мана»"); Race race = new Race(); for (int i = 1; i <= 3; i = i + 1) { System.out.println("— Введите название машины №" + i); String name = carName(); int speed = carSpeed(i); Car car = new Car(name, speed); race.newLeader(car); //System.out.println("Автомобиль " + name + " добавлен. " + speed + "-Скорость авто км/ч"); //нужно ли вообще это выводить в консоль??(риторический вопрос) в 'Пример входных данных и результата' нет подтверждения, что машина с названием и скоростью создана( } System.out.println("Самая быстрая машина: " + race.getCarName()); scanner.close(); } public static String carName() { while (true) { String name = scanner.nextLine(); if (!name.isEmpty()) { return name; } System.out.println("Название автомобиля не должно быть пустым. Повторите попытку"); } } public static int carSpeed(int number) { while (true) { System.out.println("— Введите скорость машины №" + number); if (scanner.hasNextInt()) { int speed = scanner.nextInt(); scanner.nextLine(); if (speed >= 0 && speed <= 250) { return speed; } else { System.out.println("Неправильная скорость "); } } else { System.out.println("Неправильная скорость. Введите целое цисло"); scanner.next(); } } } }