Advertisement
zsoltizbekk

mozisztarok

May 23rd, 2016
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.92 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.Comparator;
  3. import java.util.List;
  4. import java.util.Scanner;
  5.  
  6. class Film {
  7.     public String filmcim;
  8.     public int evszam;
  9.  
  10.     public Film(String filmcim, int evszam) {
  11.         this.filmcim = filmcim;
  12.         this.evszam = evszam;
  13.     }
  14.  
  15.     public String getFilmcim() {
  16.         return filmcim;
  17.     }
  18.  
  19.     public int getEvszam() {
  20.         return evszam;
  21.     }
  22.  
  23.     @Override
  24.     public String toString() {
  25.         return evszam + ": " + filmcim;
  26.     }
  27. }
  28.  
  29. class Szinesz {
  30.     public String nev;
  31.     List<Film> filmlista = new ArrayList<>();
  32.     public int counter;
  33.  
  34.     public Szinesz(String nev, int counter) {
  35.         this.nev = nev;
  36.         this.counter = counter;
  37.     }
  38.    
  39.     public String getNev() {
  40.         return nev;
  41.     }
  42.  
  43.     public List<Film> getFilmlista() {
  44.         return filmlista;
  45.     }
  46.  
  47.     public int getCounter() {
  48.         return counter;
  49.     }
  50.    
  51.         @Override
  52.     public String toString() {
  53.         return nev;
  54.     }
  55. }
  56.  
  57. public class Mozisztarok {
  58.  
  59.     public static void main(String[] args) {
  60.         Scanner sc = new Scanner(System.in);
  61.         String line;
  62.         List<Szinesz> szineszek = new ArrayList<>();
  63.         while(sc.hasNextLine()){
  64.             line = sc.nextLine();
  65.             if (line.equals("x")) break;
  66.             String[] tokens1 = line.split(" \\(");
  67.             String[] tokens2 = tokens1[1].split("\\):");
  68.             String[] tokens3 = tokens2[1].split(",");
  69.             Film filmek = new Film(tokens1[0], Integer.parseInt(tokens2[0]));
  70.             for (int i = 0; i < tokens3.length; i++){
  71.                     Boolean b = false;
  72.                     for (int j = 0; j < szineszek.size(); j++){    
  73.                         if (szineszek.get(j).nev.equals(tokens3[i])){
  74.                             b = true;
  75.                             szineszek.get(j).counter++;
  76.                             szineszek.get(j).filmlista.add(filmek);
  77.                            
  78.                             szineszek.get(j).filmlista.sort(Comparator
  79.                                     .comparing(Film::getEvszam)
  80.                                     .thenComparing(Film::getFilmcim));
  81.                         }
  82.                     }
  83.                     if (!b){
  84.                         Szinesz tmp = new Szinesz(tokens3[i], 1);
  85.                         szineszek.add(tmp);
  86.                         tmp.filmlista.add(filmek);
  87.                     }
  88.             }
  89.         }
  90.         szineszek.sort(Comparator
  91.             .comparing(Szinesz::getCounter, Comparator.reverseOrder())
  92.             .thenComparing(Szinesz::getNev));
  93.        
  94.         for (int i = 0; i < szineszek.size(); i++){
  95.             System.out.println(szineszek.get(i));
  96.             for (int j = 0; j < szineszek.get(i).filmlista.size(); j++){
  97.                 System.out.println(szineszek.get(i).filmlista.get(j));
  98.             }
  99.         }
  100.     }
  101. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement