Repository navigation
Expand file tree
/
Copy pathMain.java
More file actions
88 lines (78 loc) · 3.04 KB
/
Copy pathMain.java
File metadata and controls
88 lines (78 loc) · 3.04 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
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.println("Здравствуйте :) Вы попали в программу \"24 часа Ле-Мана\"," +
"которое рассчитывает победителя гонки зная скорость." +
"\nРасчет происходит по 3 автомобилям.");
Track arrival = new Track();
for(int i = 1; i < 4; i++){
Cars firstCar = new Cars(inputName(i), inputSpeed(i));
arrival.setWiner(firstCar);
}
System.out.println("Победитель: " + arrival.getWiner());
}
static String inputName(int number){
Scanner scanner = new Scanner(System.in);
String name = "";
while(name.isEmpty()) {
System.out.println("Введите название " + number + "-го автомобиля:");
name = scanner.nextLine();
if(name.isEmpty()){
System.out.print("Вы ничего не ввели, попробуйте снова.\n");
}else{
break;
}
}
return name;
}
static int inputSpeed(int number){
Scanner scanner = new Scanner(System.in);
int speed = -1;
while (speed <= 0 || speed > 250) {
System.out.println("Введите скорость " + number + "-го автомобиля (" +
"скорость не должна быть ниже 1 и выше 250):");
//Подсмотрел обработку некорректного ввода чисел (текст) у ИИ
//не помню, чтобы такое объясняли в курсе, все остальное сделал сам
if(scanner.hasNextInt()){
speed = scanner.nextInt();
if (speed <= 0 || speed > 250) {
System.out.println("Неверно введена скорость, попробуйте еще раз");
}
}else {
System.out.println("Неверно введена скорость, попробуйте еще раз");
}
}
return speed;
}
public static class Cars{
private final String name;
private final int speed;
Cars(String name, int speed){
this.name = name;
this.speed = speed;
}
int getSpeed(){
return this.speed;
}
String getName(){
return this.name;
}
}
public static class Track{
private String Winer;
private int speed;
Track(){
this.Winer = "";
this.speed = -1;
}
void setWiner(Cars car){
if(car.getSpeed() >= this.speed){
this.Winer = car.getName();
this.speed = car.getSpeed();
}
}
String getWiner(){
return this.Winer;
}
}
}