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
134 lines (111 loc) · 7 KB
/
Main.java
File metadata and controls
134 lines (111 loc) · 7 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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Car car1 = new Car(null, 0); // создаем значения из класса Car
Car car2 = new Car(null, 0);
Car car3 = new Car(null, 0);
Race race24 = new Race(); // чтобы можно было делать ссылки на класс Race
// Машина номер 1
System.out.println("Введите название машины номер 1");
while (true) {
String inputName = scanner.nextLine();
if (inputName.trim().isEmpty()){
System.out.println ("Поле не может быть пустым");
} else {
car1.name = inputName;
break;
}
}
System.out.println("Введите скорость машины номер 1");
while (true){
if (scanner.hasNextInt()){
int tempSpeed = scanner.nextInt();
String tail = scanner.nextLine(); // если скорость введена как 250 250, забирается " 250"
if (tail.trim().isEmpty()) { // убираем пробелы из tail и проверяем: был ли tempSpeed введен одним числом или несколькими (если одним, то после числа ничего не осталось, если двумя и более, то минимум 1 число останется)
if (tempSpeed >= 0 && tempSpeed <= 250) {
car1.speed = tempSpeed;
break;
} else {
System.out.println("Некорректная скорость. Попробуйте снова. Скорость от 0 до 250");
}
} else {
System.out.println("Некорректная скорость. Попробуйте снова. Должно быть только одно число");
}
} else {
scanner.nextLine();
System.out.println("Некорректная скорость. Попробуйте снова. Должно быть введено целое число");
}
}
race24.calculateDistance(car1); //Считаем дистанцию и смотрим, лидер или нет
// Машина номер 2
System.out.println("Введите название машины номер 2");
while (true) {
String inputName = scanner.nextLine();
if (inputName.trim().isEmpty()){
System.out.println ("Поле не может быть пустым");
} else if (car1.name.equalsIgnoreCase((inputName))) {
System.out.println("Такая машина уже учавствует в гонке.");
} else {
car2.name = inputName;
break;
}
}
System.out.println("Введите скорость машины номер 2");
while (true){
if (scanner.hasNextInt()){
int tempSpeed = scanner.nextInt();
String tail = scanner.nextLine(); // если скорость введена как 250 250, забирается " 250"
if (tail.trim().isEmpty()) { // убираем пробелы из tail и проверяем: был ли tempSpeed введен одним числом или несколькими (если одним, то после числа ничего не осталось, если двумя и более, то минимум 1 число останется)
if (tempSpeed >= 0 && tempSpeed <= 250) {
car2.speed = tempSpeed;
break;
} else {
System.out.println("Некорректная скорость. Попробуйте снова. Скорость от 0 до 250");
}
} else {
System.out.println("Некорректная скорость. Попробуйте снова. Должно быть только одно число");
}
} else {
scanner.nextLine();
System.out.println("Некорректная скорость. Попробуйте снова. Должно быть введено целое число");
}
}
race24.calculateDistance(car2);//Считаем дистанцию и смотрим, лидер или нет
// Машина номер 3
System.out.println("Введите название машины номер 3");
while (true) {
String inputName = scanner.nextLine();
if (inputName.trim().isEmpty()){
System.out.println ("Поле не может быть пустым");
} else if (car1.name.equalsIgnoreCase((inputName)) || car2.name.equalsIgnoreCase((inputName))) {
System.out.println("Такая машина уже учавствует в гонке.");
} else {
car3.name = inputName;
break;
}
}
System.out.println("Введите скорость машины номер 3");
while (true){
if (scanner.hasNextInt()){
int tempSpeed = scanner.nextInt();
String tail = scanner.nextLine(); // если скорость введена как 250 250, забирается " 250"
if (tail.trim().isEmpty()) { // убираем пробелы из tail и проверяем: был ли tempSpeed введен одним числом или несколькими (если одним, то после числа ничего не осталось, если двумя и более, то минимум 1 число останется)
if (tempSpeed >= 0 && tempSpeed <= 250) {
car3.speed = tempSpeed;
break;
} else {
System.out.println("Некорректная скорость. Попробуйте снова. Скорость от 0 до 250");
}
} else {
System.out.println("Некорректная скорость. Попробуйте снова. Должно быть только одно число");
}
} else {
scanner.nextLine();
System.out.println("Некорректная скорость. Попробуйте снова. Должно быть введено целое число");
}
}
race24.calculateDistance(car3);//Считаем дистанцию и смотрим, лидер или нет
race24.printWinner(); // объявляем лидера
}
}