Conversation
| private String name; | ||
| private int speed; |
There was a problem hiding this comment.
Поля лучше пометить final, тем самым исключив возможность их модификации извне, тогда можно геттеры будет удалить и обращаться напрямую к полям
| while (true) { | ||
| System.out.println("Введите название автомобиля №" + i + ":"); | ||
| name = scanner.nextLine().trim();//исключаем название из одних пробелов | ||
| if (!name.isEmpty()) {//проверяем не пустой ли ввод | ||
| break; | ||
| } else { | ||
| System.out.println("Ошибка: название автомобиля не может быть пустым!"); | ||
| } | ||
| } |
There was a problem hiding this comment.
Код для считывания непустой строки с консоли лучше вынести в отдельную функцию, т.к. код, поделённый на небольшие функции, легко переиспользовать и поддерживать
| while (true) {//бесконечный цикл для обработки ошибок ввода скорости | ||
| System.out.println("Введите скорость автомобиля №" + i + " (от 1 до 250 км/ч)"); | ||
| String input = scanner.nextLine().trim();//в input присваиваем введенную строку | ||
| if (input.matches("^[1-9]\\d{0,2}$")) {//устанавливаем правила ввода |
There was a problem hiding this comment.
Лучше не регулярку проверять, а обернуть вызов parseInt в try-catch, т.к. регулярка не гарантирует, что parseInt не выбросит исключения
| } | ||
|
|
||
| System.out.println("Результаты гонки:");//выводим результат гонки | ||
| ArrayList<Car> leaders = leman.getLeaders(); |
There was a problem hiding this comment.
От хранения массива машин и лишнего цикла при определении победителя можно избавиться, если при вводе данных сразу вычислять победителя и хранить его в отдельной переменной, тогда программа будет требовать меньше памяти и работать быстрее
No description provided.