import java.util.HashSet; import java.util.Scanner; public class Main { public static void main(String[] args) { //Ðвод даннÑÑ InputData input = new InputData(); Car[] cars = input.getCars(); //ÑаÑÑÑÑÑ Calc calc = new Calc(); Car fastest = calc.findFastest(cars); //вÑвод ÑезÑлÑÑаÑа Output output = new Output(); output.printResult(fastest); } } class InputData { private Scanner scanner = new Scanner(System.in); public Car[] getCars() { System.out.println("ÐÑа пÑогÑамма - ÑимÑлÑÑÐ¾Ñ Ð³Ð¾Ð½Ð¾Ðº. Ð Ð³Ð¾Ð½ÐºÐ°Ñ ÑÑаÑÑвÑÐµÑ 3 авÑомобилÑ."); Car[] cars = new Car[3]; for (int i = 0; i < 3; i++) { System.out.println("\n--- ÐвÑÐ¾Ð¼Ð¾Ð±Ð¸Ð»Ñ " + (i + 1) + " ---"); String name; boolean validName; do { System.out.print("ÐведиÑе Ð¸Ð¼Ñ Ð¼Ð°ÑÐ¸Ð½Ñ " + (i + 1) + ": "); name = scanner.nextLine(); // ÐÑовеÑÑем, ÑÑо Ð¸Ð¼Ñ Ð½Ðµ пÑÑÑое if (name.trim().isEmpty()) { System.out.println("ÐÑибка! ÐÐ¼Ñ Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿ÑÑÑÑм."); validName = false; continue; } // ÐÑовеÑÑем, еÑÑÑ Ð»Ð¸ Ñже маÑина Ñ Ñаким именем validName = true; for (int j = 0; j < i; j++) { if (cars[j] != null && cars[j].name.equalsIgnoreCase(name)) { System.out.println("ÐÑибка! ÐаÑина Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ '" + name + "' Ñже ÑÑÑеÑÑвÑеÑ."); validName = false; break; } } } while (!validName); int speed = inputSpeed(i + 1); cars[i] = new Car(name, speed); } scanner.close(); return cars; } //ÐеÑод Ð´Ð»Ñ Ð²Ð²Ð¾Ð´Ð° ÑкоÑоÑÑи private int inputSpeed(int carNumber) { int speed = 0; boolean validInput = false; while (!validInput) { try { System.out.print("ÐведиÑе ÑкоÑоÑÑÑ Ð¼Ð°ÑÐ¸Ð½Ñ " + carNumber + " (1-250 км/Ñ): "); String input = scanner.nextLine(); speed = Integer.parseInt(input); //ÐÑовеÑка диапазона if (speed > 0 && speed <= 250) { validInput = true; } else { System.out.println("ÐÑибка! СкоÑоÑÑÑ Ð´Ð¾Ð»Ð¶Ð½Ð° бÑÑÑ Ð² диапазоне Ð¾Ñ 1 до 250 км/Ñ."); } } catch (NumberFormatException e) { System.out.println("ÐÑибка! ÐведиÑе Ñелое ÑиÑло."); } } return speed; } } class Calc { //ÐеÑод Ð´Ð»Ñ ÑаÑÑÑÑа Ñамой бÑÑÑÑой маÑÐ¸Ð½Ñ public Car findFastest(Car[] cars) { Car fastest = null; for (Car car : cars) { if (fastest == null || car.speed > fastest.speed) { fastest = car; } } return fastest; } } class Output { //ÐÑвод public void printResult(Car fastest) { System.out.println("Ð¡Ð°Ð¼Ð°Ñ Ð±ÑÑÑÑÐ°Ñ Ð¼Ð°Ñина: " + fastest.name); } } // ÐлаÑÑ Ð¼Ð°Ñина class Car { // ÐÐ¾Ð»Ñ String name; // Ðазвание int speed; // СкоÑоÑÑÑ (км/Ñ) int distance; // РаÑÑÑоÑние за 24 ÑаÑа ÐµÐ·Ð´Ñ (км) // ÐонÑÑÑÑкÑÐ¾Ñ Car(String carName, int carSpeed) { name = carName; speed = carSpeed; distance = carSpeed * 24; } }