Advertisement
Guest User

Untitled

a guest
Nov 22nd, 2019
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.15 KB | None | 0 0
  1. import java.io.InputStream;
  2. import java.io.OutputStream;
  3. import java.io.PrintWriter;
  4. import java.util.*;
  5. import java.util.stream.Stream;
  6.  
  7. public class F1Test {
  8.  
  9.     public static void main(String[] args) {
  10.         F1Race f1Race = new F1Race();
  11.         f1Race.readResults(System.in);
  12.         f1Race.printSorted(System.out);
  13.     }
  14.  
  15. }
  16.  
  17. class F1Race{
  18.     // vashiot kod ovde
  19.     List<String> nameAndLaps;
  20.  
  21.     public F1Race() {
  22.         nameAndLaps = new ArrayList<>();
  23.     }
  24.  
  25.     void readResults(InputStream inputStream) {
  26.         Scanner scanner = new Scanner(inputStream);
  27.  
  28.         while (scanner.hasNextLine()) {
  29.             nameAndLaps.add(scanner.nextLine());
  30.         }
  31.  
  32.         scanner.close();
  33.     }
  34.  
  35.     void printSorted(OutputStream outputStream) {
  36.         PrintWriter printWriter = new PrintWriter(outputStream);
  37.  
  38.         Comparator<String> lapComparator = new Comparator<String>() {
  39.             @Override
  40.             public int compare(String o1, String o2) {
  41.                 return compareLaps(o1.split(" ")[1],o1.split(" ")[2],o1.split(" ")[3]).
  42.                         compareTo(compareLaps(o2.split(" ")[1],o2.split(" ")[2],o2.split(" ")[3]));
  43.             }
  44.         };
  45.  
  46.         nameAndLaps.sort(lapComparator);
  47.  
  48.         for (int i=0; i<nameAndLaps.size(); i++){
  49.             printWriter.println(String.format("%d. %-11s %s",i+1,nameAndLaps.get(i).split(" ")[0],
  50.                     compareLaps(nameAndLaps.get(i).split(" ")[1],nameAndLaps.get(i).split(" ")[2],nameAndLaps.get(i).split(" ")[3])));
  51.         }
  52.  
  53.         printWriter.close();
  54.     }
  55.  
  56.     String compareLaps(String lap1, String lap2, String lap3) {
  57.         if (lap1.compareTo(lap2) < 0 && lap1.compareTo(lap3) < 0) {
  58.             return lap1;
  59.         } else {
  60.             if (lap2.compareTo(lap3) < 0) {
  61.                 return lap2;
  62.             } else {
  63.                 return lap3;
  64.             }
  65.         }
  66.     }
  67.  
  68.     /*@Override
  69.     public int compare(String o1, String o2) {
  70.         return compareLaps(o1.split(" ")[1],o1.split(" ")[2],o1.split(" ")[3]).
  71.                 compareTo(compareLaps(o2.split(" ")[1],o2.split(" ")[2],o2.split(" ")[3]));
  72.     }*/
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement