Advertisement
Martina312

[НП] - Ф1 Трка

Aug 20th, 2020
1,685
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.65 KB | None | 0 0
  1. import java.io.InputStream;
  2. import java.io.OutputStream;
  3. import java.util.ArrayList;
  4. import java.util.List;
  5. import java.util.Scanner;
  6. import java.util.stream.IntStream;
  7.  
  8. class Driver implements Comparable<Driver>{
  9.     private String name;
  10.     private String bestLap;
  11.  
  12.     public Driver(String name, String bestLap) {
  13.         this.name = name;
  14.         this.bestLap = bestLap;
  15.     }
  16.  
  17.     @Override
  18.     public int compareTo(Driver o) {
  19.         return bestLap.compareTo(o.bestLap);
  20.     }
  21.  
  22.     @Override
  23.     public String toString() {
  24.         return String.format("%-10s%10s", name, bestLap);
  25.     }
  26. }
  27. class F1Race {
  28.     List<Driver> drivers;
  29.  
  30.     public F1Race() {
  31.         this.drivers = new ArrayList<>();
  32.     }
  33.  
  34.     public void readResults(InputStream inputStream){
  35.         Scanner in = new Scanner(inputStream);
  36.  
  37.         while (in.hasNextLine()){
  38.             String line = in.nextLine();
  39.             String [] parts = line.split("\\s+");
  40.  
  41.             List<String> laps = new ArrayList<>();
  42.             for(int i=1; i<parts.length;i++){
  43.                 laps.add(parts[i]);
  44.             }
  45.             laps.sort(String::compareTo);
  46.  
  47.             drivers.add(new Driver(parts[0], laps.get(0)));
  48.         }
  49.     }
  50.  
  51.     public void printSorted(OutputStream outputStream){
  52.         drivers.sort(Driver::compareTo);
  53.         IntStream.range(0, drivers.size()).forEach(i -> System.out.println(String.format("%d. %s",i+1,drivers.get(i))));
  54.     }
  55.  
  56. }
  57.  
  58. public class F1Test {
  59.  
  60.     public static void main(String[] args) {
  61.         F1Race f1Race = new F1Race();
  62.         f1Race.readResults(System.in);
  63.         f1Race.printSorted(System.out);
  64.     }
  65.  
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement