Skip to content

Комит 1 итерации#1

Open
DenisRomanoff wants to merge 1 commit intomainfrom
dev
Open

Комит 1 итерации#1
DenisRomanoff wants to merge 1 commit intomainfrom
dev

Conversation

@DenisRomanoff
Copy link
Owner

No description provided.

Copy link

@ArturNurtdinov ArturNurtdinov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Хорошая работа, молодец!

Comment on lines +2 to +3
private String name;
private int speed;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Поля лучше пометить final, тем самым исключив возможность их модификации извне, тогда можно геттеры будет удалить и обращаться напрямую к полям

Comment on lines +10 to +18
while (true) {
System.out.println("Введите название автомобиля №" + i + ":");
name = scanner.nextLine().trim();//исключаем название из одних пробелов
if (!name.isEmpty()) {//проверяем не пустой ли ввод
break;
} else {
System.out.println("Ошибка: название автомобиля не может быть пустым!");
}
}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Код для считывания непустой строки с консоли лучше вынести в отдельную функцию, т.к. код, поделённый на небольшие функции, легко переиспользовать и поддерживать

while (true) {//бесконечный цикл для обработки ошибок ввода скорости
System.out.println("Введите скорость автомобиля №" + i + " (от 1 до 250 км/ч)");
String input = scanner.nextLine().trim();//в input присваиваем введенную строку
if (input.matches("^[1-9]\\d{0,2}$")) {//устанавливаем правила ввода

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Лучше не регулярку проверять, а обернуть вызов parseInt в try-catch, т.к. регулярка не гарантирует, что parseInt не выбросит исключения

}

System.out.println("Результаты гонки:");//выводим результат гонки
ArrayList<Car> leaders = leman.getLeaders();

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

От хранения массива машин и лишнего цикла при определении победителя можно избавиться, если при вводе данных сразу вычислять победителя и хранить его в отдельной переменной, тогда программа будет требовать меньше памяти и работать быстрее

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants