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
100 lines (83 loc) · 2.57 KB
/
Main.java
File metadata and controls
100 lines (83 loc) · 2.57 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
import java.util.ArrayList;
import java.util.Scanner;
class Main
{
public static void main(String[] args)
{
Scanner scanner = new Scanner(System.in);
ArrayList<Car> carList = new ArrayList<>(3);
for (int i = 1; i <= 3;i++)
{
String inputCar;
int inputSpeed;
System.out.println("Введите название автомобиля № " + i +":");
inputCar = scanner.nextLine();
System.out.println("Введите скорость автомобиля № " + i + ":");
while(true)
{
if (scanner.hasNextInt())
{
inputSpeed = scanner.nextInt();
scanner.nextLine();
if (inputSpeed > 0 && inputSpeed <= 250)
{
break;
}
else
{
System.out.println("Неправильное значение скорости! Скорость должна быть в диапазоне от 0 до 250! Введите скорость автомобиля № " + i + " еще раз:");
}
}
else
{
System.out.println("Неправильное значение скорости! Скорость должна быть целым числом! Введите скорость автомобиля № " + i + " еще раз:");
scanner.next();
}
}
carList.add(new Car(inputCar, inputSpeed));
}
scanner.close();
Race race = new Race(carList);
Car winnerCar = race.getWinner();
System.out.printf("Самая быстрая машина: %s%n", winnerCar.carmark);
}
}
class Car
{
String carmark;
int speed;
Car(String carmark, int speed)
{
this.carmark = carmark;
this.speed = speed;
}
int distanceFor(int duration)
{
return speed * duration;
}
}
class Race
{
ArrayList<Car> cars;
int durationInHours = 24;
Race(ArrayList<Car> cars)
{
this.cars = cars;
}
Car getWinner()
{
if (cars.isEmpty())
{
return null;
}
Car winner = this.cars.get(0);
for (Car car : cars)
{
if (winner.distanceFor(durationInHours) < car.distanceFor(durationInHours))
{
winner = car;
}
}
return winner;
}
}