Skip to content

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

Open
DenisRomanoff wants to merge 1 commit into
mainfrom
dev
Open

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

Conversation

@DenisRomanoff
Copy link
Copy Markdown
Owner

No description provided.

Copy link
Copy Markdown

@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 thread src/main/java/Car.java
Comment on lines +2 to +3
private String name;
private int speed;
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

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

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

Choose a reason for hiding this comment

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

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

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

Choose a reason for hiding this comment

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

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

Comment thread src/main/java/Main.java
}

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

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