import java.util.Scanner; // ÐлаÑÑ ÐвÑÐ¾Ð¼Ð¾Ð±Ð¸Ð»Ñ class Car { private String name; private int speed; public Car(String name, int speed) { this.name = name; this.speed = speed; } public int getDistance() { return speed * 24; } public String getName() { return name; } public int getSpeed() { return speed; } } // ÐлаÑÑ Ðонка class Race { private Car winner; public void determineWinner(Car[] cars) { winner = cars[0]; for (int i = 1; i < cars.length; i++) { if (cars[i].getDistance() > winner.getDistance()) { winner = cars[i]; } } } public Car getWinner() { return winner; } } // ÐлавнÑй клаÑÑ public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int numberOfCars = 3; // можно легко измениÑÑ Car[] cars = new Car[numberOfCars]; for (int i = 0; i < numberOfCars; i++) { cars[i] = createCar(i + 1, scanner); } Race race = new Race(); race.determineWinner(cars); Car winner = race.getWinner(); System.out.println("\nð ÐобедиÑÐµÐ»Ñ Ð³Ð¾Ð½ÐºÐ¸: " + winner.getName()); System.out.println("СкоÑоÑÑÑ: " + winner.getSpeed() + " км/Ñ"); System.out.println("ÐÑÐ¾ÐµÑ Ð°Ð» за 24 ÑаÑа: " + winner.getDistance() + " км"); } // ÐеÑод ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¼Ð°ÑÐ¸Ð½Ñ Ñ Ð²Ð²Ð¾Ð´Ð¾Ð¼ и валидаÑией private static Car createCar(int number, Scanner scanner) { String name; int speed; System.out.println("ÐведиÑе название маÑÐ¸Ð½Ñ â" + number + ":"); while (true) { name = scanner.nextLine().trim(); if (!name.isEmpty()) break; System.out.println("Ðазвание не Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿ÑÑÑÑм. ÐведиÑе еÑÑ Ñаз:"); } System.out.println("ÐведиÑе ÑкоÑоÑÑÑ Ð¼Ð°ÑÐ¸Ð½Ñ â" + number + ":"); while (true) { String input = scanner.nextLine().trim(); if (isValidSpeed(input)) { speed = Integer.parseInt(input); if (speed >= 0 && speed <= 250) { // â Ð¾Ñ 0 до 250 break; } else { System.out.println("ÐепÑавилÑÐ½Ð°Ñ ÑкоÑоÑÑÑ. ÐведиÑе ÑиÑло Ð¾Ñ 0 до 250:"); } } else { System.out.println("ÐепÑавилÑÐ½Ð°Ñ ÑкоÑоÑÑÑ. ÐведиÑе Ñелое ÑиÑло:"); } } return new Car(name, speed); } // ÐеÑод Ð´Ð»Ñ Ð¿ÑовеÑки, ÑвлÑеÑÑÑ Ð»Ð¸ ÑÑÑока ÑиÑлом private static boolean isValidSpeed(String input) { if (input.isEmpty()) return false; for (int i = 0; i < input.length(); i++) { if (!Character.isDigit(input.charAt(i))) { return false; } } return true; } }