import java.util.Scanner; public class Race { private int CARS_NUMBER = 3; private int MAX_CAR_SPEED = 250; private int RACE_TIME = 24; Car[] cars; Car winner; Race () { cars = new Car[CARS_NUMBER]; for(int memberNumber = 0; memberNumber < CARS_NUMBER; memberNumber++){ Scanner scanner = new Scanner(System.in); String carName; while(true){ System.out.printf("â ÐведиÑе название маÑÐ¸Ð½Ñ â%d:\n", memberNumber + 1); carName = scanner.nextLine().strip(); System.out.println(); if (!carName.isEmpty()) break; System.out.println("â ÐедопÑÑÑимое название маÑинÑ\n"); } int carSpeed; while(true){ System.out.printf("â ÐведиÑе ÑкоÑоÑÑÑ Ð¼Ð°ÑÐ¸Ð½Ñ â%d:\n", memberNumber + 1); /* carSpeed = scanner.hasNextInt() ? scanner.nextInt() : 0; System.out.println(); ÐÑÐ¸Ð¼ÐµÑ ÑеÑÐµÐ½Ð¸Ñ Ð²ÑÑе более ÑиÑаемÑй, но даннÑй ÐºÐµÐ¹Ñ ÑÑ Ð¾Ð´Ð¸Ñ Ð² беÑконеÑнÑй Ñикл пÑи вводе ÑиÑла Ñ ÑоÑкой, поÑÑÐ¾Ð¼Ñ Ñделал обÑабоÑÐºÑ ÑеÑез try catch. ÐÑоÑÑое иÑполÑзование scanner.nextInt() Ñак же Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑивÑÑи к необÑабоÑÐ°Ð½Ð½Ð¾Ð¼Ñ exception */ try{ carSpeed = Integer.parseInt(scanner.nextLine()); } catch (NumberFormatException e){ carSpeed = 0; } System.out.println(); if(isSpeedValid(carSpeed)) break; System.out.println("â ÐепÑавилÑÐ½Ð°Ñ ÑкоÑоÑÑÑ\n"); } cars[memberNumber] = new Car(carName, carSpeed); } } public void runRace(){ int[] raceResults = new int[CARS_NUMBER]; int bestResultIndex = 0; for (int i = 0; i < raceResults.length; i++){ raceResults[i] = calculateDistance(cars[i]); bestResultIndex = (raceResults[i] > raceResults[bestResultIndex]) ? i : bestResultIndex; } winner = cars[bestResultIndex]; } private boolean isSpeedValid(int speed){ return (0 < speed && speed <=MAX_CAR_SPEED); } private int calculateDistance(Car member){ /* ÐодÑÑÑÑ ÑезÑлÑÑаÑов гонки вÑÐ½ÐµÑ Ð² оÑделÑнÑÑ ÑÑнкÑÐ¸Ñ Ð´Ð»Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑи доÑабоÑки и ÑаÑÑиÑÐµÐ½Ð¸Ñ ÑоÑмÑÐ»Ñ */ return member.speed * RACE_TIME; } }