Repository navigation
Expand file tree
/
Copy pathMain.java
More file actions
68 lines (63 loc) · 2.85 KB
/
Copy pathMain.java
File metadata and controls
68 lines (63 loc) · 2.85 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
import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int participantsNumber = 3;
String[] answersToContinue = new String[]{ "да", "lf", "y", "yes"};
while (true) {
try {
System.out.println("Привет! Эта программа для расчета лидера в гонки 24 часа Ле-Мана.");
System.out.println("Необходимо ввести название и скорость 3-х участников гонки.");
Race race = new Race();
Car leader = null;
for (int i = 1; i <= participantsNumber; i++) {
leader = race.evaluateLeader(getCarFromInput(i));
}
System.out.println("Самая быстрая машина: " + leader.name);
System.out.println("Заного? да/нет");
String continueAnswer = scanner.next();
if (!Arrays.asList(answersToContinue).contains(continueAnswer.trim().toLowerCase())) {
System.out.println("До свидания");
break;
}
} catch (Throwable e) {
System.out.println("Что-то пошло не так :(");
throw e;
}
}
}
private static Car getCarFromInput(int carNumber) {
Car car;
String name;
Scanner scanner = new Scanner(System.in);
while (true){
System.out.println("Введите имя машины №" + carNumber);
name = scanner.nextLine();
if(name.trim().isEmpty()){
System.out.println("Введите не пустое значение");
}else {
break;
}
}
while (true) {
System.out.println("Введите скорость машины №" + carNumber);
if (scanner.hasNextInt()) {
int speed = scanner.nextInt();
if (Race.minimumSpeed < speed && speed <= Race.maximumSpeed) {
name = name.trim();
car = new Car(name, speed);
System.out.println("Машина с именем " + car.name + " зарегистрирована! Ее скорость: " + car.speed);
break;
} else {
System.out.println("Скорость должна быть больше 0 и меньше или равна 250");
}
} else {
System.out.println("Введите корректное значение скорости");
scanner.next();
}
}
return car;
}
}