import java.util.Scanner; class Car { int id; String carName; int carSpeed; Car(int id, String name, int speed) { this.id = id; this.carName = name; this.carSpeed = speed; } public int getId() { return id; } public String getCarName() { return carName; } public int getCarSpeed() { return carSpeed; } static boolean checkSpeed(int speed) { if (speed < 0) { System.out.println("ÐÑибка: ÑкоÑоÑÑÑ Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¾ÑÑиÑаÑелÑной"); return false; } if (speed > 250) { System.out.println("ÐÑибка: ÑкоÑоÑÑÑ Ð¿ÑевÑÑÐ°ÐµÑ Ð¼Ð°ÐºÑимÑм (250)"); return false; } return true; } } class Race { String winCarName; int winCarId; int distance; Race() { this.distance = 0; } public int getDistance() { return distance; } public String getWinCar() { return winCarName; } public int getWinCarId() { return winCarId; } public void setWinCarId(int winCarId) { this.winCarId = winCarId; } public void setWinCar(String car) { this.winCarName = car; } public void setDistance(int distance) { this.distance = distance; } public int calcDistance(int speed) { return speed * 24; } public void checkAndSetLeader(Car car) { int carDistance = calcDistance(car.getCarSpeed()); if (carDistance > this.getDistance()) { this.setWinCar(car.getCarName()); this.setDistance(carDistance); this.setWinCarId(car.getId()); } } public void printFlag(){ int rows = 8; int cols = 32; int cellSize = 2; for (int i = 0; i < rows; i++) { for (int j = 0; j < cols; j++) { if ((i / cellSize + j / cellSize) % 2 == 0) { System.out.print("ââ"); } else { System.out.print(" "); } } System.out.println(); } } } public class Main { static boolean isEmptyCheck(String input){ if (input.trim().isEmpty()) { System.out.println("ÐÑибка: ниÑего не введено!"); return true; } return false; } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); Race race = new Race(); System.out.println(); System.out.println("ÐÑигоÑовÑÑеÑÑ Ðº Ð·Ð°Ñ Ð²Ð°ÑÑваÑÑей гонке, коÑоÑÐ°Ñ Ð¾ÑÑÐ°Ð²Ð¸Ñ Ð²Ð°Ñ Ð±ÐµÐ· дÑÑ Ð°Ð½Ð¸Ñ Ð¸ подаÑÐ¸Ñ Ð½ÐµÐ·Ð°Ð±ÑваемÑе ÑмоÑии!"); race.printFlag(); System.out.println("ÐÑиÑоединÑйÑеÑÑ Ðº нам на невеÑоÑÑном ÑоÑевновании, где ÑкоÑоÑÑÑ Ð²ÑÑÑеÑаеÑÑÑ Ñ Ð¼Ð°ÑÑеÑÑÑвом, а адÑеналин заÑкаливаеÑ!"); for (int i = 1; i <= 3; i++) { boolean validNameInput = false; String name = ""; while (!validNameInput){ System.out.println("â ÐведиÑе название маÑÐ¸Ð½Ñ Ð³Ð¾Ð½Ñика â" + i + ": "); name = scanner.nextLine(); if (isEmptyCheck(name)){ continue; } name = name.trim(); validNameInput = true; } boolean validSpeedInput = false; int speed; while (!validSpeedInput) { System.out.println("â ÐведиÑе ÑкоÑоÑÑÑ Ð¼Ð°ÑÐ¸Ð½Ñ " + name + " гонÑика â" + i + ": "); String input = scanner.nextLine().trim(); if (!isEmptyCheck(input)) { try { speed = Integer.parseInt(input); if (Car.checkSpeed(speed)) { Car car = new Car(i, name, speed); race.checkAndSetLeader(car); validSpeedInput = true; } } catch (NumberFormatException e) { System.out.println("ÐÑибка: введиÑе Ñелое ÑиÑло! ÐопÑобÑйÑе еÑÑ Ñаз."); } } } } System.out.println("Ðонка законÑена!!!"); System.out.println("ÐобедиÑÐµÐ»Ñ - гонÑик â" + race.getWinCarId()); System.out.println("Ðа маÑине - " + race.getWinCar()); System.out.println("С ÑезÑлÑÑаÑом - " + race.getDistance() +" киломеÑÑов"); scanner.close(); } }