Skip to content

My first homework!#1

Open
ArtemSmater wants to merge 1 commit intomainfrom
dev
Open

My first homework!#1
ArtemSmater wants to merge 1 commit intomainfrom
dev

Conversation

@ArtemSmater
Copy link
Copy Markdown
Owner

My first homework!

Comment on lines +10 to +19
String carName1 = getLabel(1);
int carSpeed1 = getSpeed(1);

// get second car info
String carName2 = getLabel(2);
int carSpeed2 = getSpeed(2);

// get third car info
String carName3 = getLabel(3);
int carSpeed3 = getSpeed(3);
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Тут 2 операции повторяются по 3 раза - такой код лучше вынести в цикл с 3мя итерациями

int carSpeed3 = getSpeed(3);

// create list of cars
List<Car> cars = new ArrayList<>(Arrays.asList(new Car(carName1, carSpeed1), new Car(carName2, carSpeed2), new Car(carName3, carSpeed3)));
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

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

}

private static String getLabel(int number) {
Scanner stringScan = new Scanner(System.in);
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

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

System.out.printf("— Введите скорость машины №%d: ", number);
if (intScan.hasNextInt()) {
int num = intScan.nextInt();
if (num > 0 && num <= 250) return num;
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