Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.InputStream;
- import java.io.OutputStream;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Scanner;
- import java.util.stream.IntStream;
- class Driver implements Comparable<Driver>{
- private String name;
- private String bestLap;
- public Driver(String name, String bestLap) {
- this.name = name;
- this.bestLap = bestLap;
- }
- @Override
- public int compareTo(Driver o) {
- return bestLap.compareTo(o.bestLap);
- }
- @Override
- public String toString() {
- return String.format("%-10s%10s", name, bestLap);
- }
- }
- class F1Race {
- List<Driver> drivers;
- public F1Race() {
- this.drivers = new ArrayList<>();
- }
- public void readResults(InputStream inputStream){
- Scanner in = new Scanner(inputStream);
- while (in.hasNextLine()){
- String line = in.nextLine();
- String [] parts = line.split("\\s+");
- List<String> laps = new ArrayList<>();
- for(int i=1; i<parts.length;i++){
- laps.add(parts[i]);
- }
- laps.sort(String::compareTo);
- drivers.add(new Driver(parts[0], laps.get(0)));
- }
- }
- public void printSorted(OutputStream outputStream){
- drivers.sort(Driver::compareTo);
- IntStream.range(0, drivers.size()).forEach(i -> System.out.println(String.format("%d. %s",i+1,drivers.get(i))));
- }
- }
- public class F1Test {
- public static void main(String[] args) {
- F1Race f1Race = new F1Race();
- f1Race.readResults(System.in);
- f1Race.printSorted(System.out);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement