DamSi

Untitled

Jul 16th, 2015
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.67 KB | None | 0 0
  1. import java.io.InputStream;
  2. import java.io.OutputStream;
  3. import java.io.PrintWriter;
  4. import java.util.ArrayList;
  5. import java.util.Collections;
  6. import java.util.LinkedList;
  7. import java.util.Scanner;
  8.  
  9. public class F1Test {
  10.  
  11.     public static void main(String[] args) {
  12.         F1Race f1Race = new F1Race();
  13.         f1Race.readResults(System.in);
  14.         f1Race.printSorted(System.out);
  15.     }
  16.  
  17. }
  18.  
  19. class Driver implements Comparable<Driver>{
  20.     private String name;
  21.     private String lap1;
  22.     private String lap2;
  23.     private String lap3;
  24.    
  25.     public Driver(String name, String lap1, String lap2, String lap3){
  26.         this.name=name;
  27.         this.lap1=lap1;
  28.         this.lap2=lap2;
  29.         this.lap3=lap3;
  30.     }
  31.     public String bestLap(){
  32.         String pom;
  33.         if(lap1.compareTo(lap2) > 0){
  34.             pom= lap2;
  35.         }
  36.         else pom=lap1;
  37.         if(pom.compareTo(lap3) > 0){
  38.             return lap3;
  39.         }
  40.         else return pom;
  41.     }
  42.     @Override
  43.     public int compareTo(Driver arg0) {
  44.         return this.bestLap().compareTo(arg0.bestLap());
  45.     }
  46.     public String getName(){
  47.         return this.name;
  48.     }
  49.    
  50. }
  51. class F1Race {
  52.     private ArrayList<Driver> drivers;
  53.    
  54.     public F1Race(){
  55.         drivers = new ArrayList<>();
  56.     }
  57.     public void readResults(InputStream in){
  58.         Scanner scanner= new Scanner(in);
  59.         while(scanner.hasNextLine()){
  60.             String line= scanner.nextLine();
  61.             String podatoci[] = line.split(" ");
  62.             drivers.add(new Driver(podatoci[0], podatoci[1], podatoci[2], podatoci[3]));
  63.         }
  64.     }
  65.     public void printSorted(OutputStream out){
  66.         PrintWriter pr = new PrintWriter(out);
  67.         Collections.sort(drivers);
  68.         for(int i=0;i< drivers.size();i++){
  69.             pr.printf("%d. %10s%.10s",i+1,drivers.get(i).getName(), drivers.get(i).bestLap());
  70.         }
  71.         pr.flush();
  72.         pr.close();
  73.     }
  74. }
Advertisement
Add Comment
Please, Sign In to add comment