Repository navigation
Conversation
…ынес дефолтные параметры.
Поправил Readme
| String name; | ||
| int speed; | ||
| int serialNumber; |
There was a problem hiding this comment.
Поля лучше пометить final, тем самым исключив возможность их модификации извне
|
|
||
| public class InteracterWithUserViaConsole { | ||
| public ArrayList<Car> getCarsForRace( int totalOfCars, int minSpeed, int maxSpeed) { | ||
| ArrayList<Car> carsForRace = new ArrayList<>(totalOfCars); |
There was a problem hiding this comment.
От хранения массива машин и лишнего цикла при определении победителя можно избавиться, если при вводе данных сразу вычислять победителя и хранить его в отдельной переменной, тогда программа будет требовать меньше памяти и работать быстрее
| while ( !isValidNameInformation(nameOfCar) ) { | ||
| System.out.println("Невалидный ввод."); | ||
| System.out.println(String.format("Введите название машины №%d:", serialNumber)); | ||
| nameOfCar = scanner.nextLine(); | ||
| } |
There was a problem hiding this comment.
Код для считывания непустой строки с ввода лучше вынести в отдельную функцию - код, разделённый на небольшие функции, легче читать, поддерживать и переиспользовать
| public static int totalOFCars = 3; | ||
| public static int hoursInRace = 24; | ||
| public static int minSpeedOfVehicle = 0; | ||
| public static int maxSpeedOfVehicle = 250; |
There was a problem hiding this comment.
Молодец, что вынес эти значения в параметры, но лучше их сделать настоящими константами, для этого нужно добавить модификатор final и переименовать в соответствии со SCREAMING_SNAKE_CASE, например так:
public static final int TOTAL_OF_CARS = 3;
В проекте 4 основных класса:
Main - точка входа в программу и организацию взаимодействия между классами;
InteracterWithUserViaConsole - класс отвечает за взаимодействие с пользователем и валидацию данных;
Race - класс для выбора победителя;
Car - данные по участникам гонки;