Repository navigation
Expand file tree
/
Copy pathMain.java
More file actions
66 lines (47 loc) · 1.99 KB
/
Copy pathMain.java
File metadata and controls
66 lines (47 loc) · 1.99 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
import java.util.Scanner;
public class Main {
static int min = 0;
static int max = 250;
public static void main(String[] args) {
printMenu();
}
static void printMenu(){
Transport car1 = createTransport("— Введите название машины №1:", "— Введите скорость машины №1:");
Transport car2 = createTransport("— Введите название машины №2:", "— Введите скорость машины №2:");
Transport car3 = createTransport("— Введите название машины №3:", "— Введите скорость машины №3:");
Race.pathTraveled(car1, car2, car3);
}
static Transport createTransport(String namePrompt, String speedPrompt) {
String name = readNonEmptyString(namePrompt);
int speed = readIntegerWithinRange(speedPrompt, min, max);
return new Transport(name, speed);
}
static String readNonEmptyString (String promt) {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println(promt);
if (scanner.hasNextLine()) {
String input = scanner.nextLine();
if (!input.trim().isEmpty()) {
return input;
} else {
System.out.println("— Неправильная название:");
}
}
}
}
static int readIntegerWithinRange(String prompt, int min, int max) {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println(prompt);
if (scanner.hasNextInt()) {
int input = scanner.nextInt();
if (input >= min && input <= max) {
return input;
} else {
System.out.println("— Неправильная скорость");
}
}
}
}
} //Finish class Main