-
Notifications
You must be signed in to change notification settings - Fork 220
Expand file tree
/
Copy pathRace.java
More file actions
41 lines (29 loc) · 936 Bytes
/
Race.java
File metadata and controls
41 lines (29 loc) · 936 Bytes
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
import java.util.*;
public class Race {
Car[] racers;
Race(Car[] racers) {
this.racers = racers;
}
public void start() {
ArrayList<Integer> distances = calculateDistances(racers);
String winner = calculateWinner(distances);
System.out.printf("The winner is %s", winner);
}
private ArrayList<Integer> calculateDistances(Car[] racers) {
ArrayList<Integer> distances = new ArrayList<>();
for (Car racer : racers) {
distances.add(racer.speed * 24);
}
return distances;
}
private String calculateWinner(ArrayList<Integer> distances) {
int maxDistance = 0;
for (int distance: distances) {
if (distance > maxDistance) {
maxDistance = distance;
}
}
int indexOfWinner = distances.indexOf(maxDistance);
return racers[indexOfWinner].name;
}
}