forked from Yandex-Practicum/Java-Module-Project-YP
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMain.java
More file actions
50 lines (44 loc) · 2.62 KB
/
Main.java
File metadata and controls
50 lines (44 loc) · 2.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); // Создаём сканер для ввода данных.
Race race = new Race(); // Инициализируем гонку.
// Цикл для ввода данных о 3 машинах.
for (int i = 0; i < 3; i++) {
String name;
while (true) {
System.out.println("Введите название машины №" + (i + 1) + ":");
name = scanner.next(); // Считываем название машины.
// Проверка на корректность названия
if (name == null || name.trim().isEmpty()) {
System.out.println("Ошибка: название не может быть пустым!");
} else if (name.length() > 20) {
System.out.println("Ошибка название слишком длинное (макс. 20 симлволов)!");
} else if (!name.matches("[a-zA-Zа-яА-Я0-9 ]+")) {
System.out.println("Ошибка: название содержит недопустимые символы!");
} else {
break; // Название корректное
}
}
int speed;
while (true) { // Бесконечный цикл для проверки скорости.
System.out.println("Введите скорость машины №" + (i + 1));
try {
speed = scanner.nextInt(); // Считываем скорость.
if (speed >= 0 && speed <= 250)
break;
System.out.print("Неправильная скорость!");
System.out.print(" Допустимо 0-250."); // Сообщение об ошибке.
} catch (Exception e) {
System.out.println("Ошибка: введите целое число!");
scanner.next(); // Очистка буфера
}
}
Car car = new Car(name, speed); // Создаём объект машины.
race.determineNewLeader(car); // Обновляем лидера гонки.
}
System.out.println("Самая быстрая машина: " + race.getRaceLeader()); // Выводим победителя.
// Закрываем Scanner по завершении работы.
scanner.close();
}
}