Repository navigation
Conversation
1. На вход из консоли получаем название и скорость машин(валидируем ввод) 2. При сохранении машины проверяется лидер и обновляется при необходимости 3. После ввода трех машин выводится лидер гонки P.s. ИИ использовал только для рефакторинга
| private final String name; | ||
| private final int speed; |
There was a problem hiding this comment.
Т.к. поля final, то можно убрать геттеры и модификатор private и получать доступ к чтению полей напрямую
| public class RaceState { | ||
| private String leaderName = ""; | ||
| private int leaderDistance = 0; | ||
| private final int raceDuration = 24; |
There was a problem hiding this comment.
Можно вынести в константу, добавив static модификатор - private static final int RACE_DURATION = 24;
There was a problem hiding this comment.
просто не стал сильно заморачиваться )
| import java.util.ArrayList; | ||
|
|
||
| public class RaceRepository { | ||
| private final ArrayList<Car> cars = new ArrayList<>(); |
There was a problem hiding this comment.
От хранения массива машин и лишнего цикла при определении победителя можно избавиться, если при вводе данных сразу вычислять победителя и хранить его в отдельной переменной, тогда программа будет требовать меньше памяти и работать быстрее
| public String readCarName(int number) { | ||
| System.out.println("Введите название машины №" + number + ":"); | ||
|
|
||
| while (true) { |
There was a problem hiding this comment.
Не рекомендую писать бесконечные циклы через while (true) - лучше всегда явно прописывать условие выхода из цикла, чтобы уменьшить вероятность ошибиться и повысить читабельность кода
| while (true) { | ||
| try { | ||
| String name = scanner.nextLine().trim(); | ||
| if (!name.isEmpty()) |
There was a problem hiding this comment.
Код для считывания непустой строки с ввода лучше вынести в отдельную функцию - код, разделённый на небольшие функции, легче читать, поддерживать и переиспользовать
| continue; | ||
| } | ||
| int speed = Integer.parseInt(input); | ||
| if (speed > 0 && speed <= 250) { |
There was a problem hiding this comment.
Минимальную и максимальную скорости лучше вынести в константы для повышения читабельности кода
There was a problem hiding this comment.
просто не стал сильно заморачиваться )
P.s. ИИ использовался только для рефакторинга.