Advertisement
Josif_tepe

Untitled

Jun 16th, 2025
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.27 KB | None | 0 0
  1. import java.io.File;
  2. import java.util.ArrayList;
  3. import java.util.Comparator;
  4. import java.util.HashMap;
  5. import java.util.Scanner;
  6.  
  7. class Drzava {
  8.     private String kratenica;
  9.     private String drzava;
  10.     private int brojZiteli;
  11.  
  12.     public Drzava(String kratenica, String drzava, int brojZiteli) {
  13.         this.kratenica = kratenica;
  14.         this.drzava = drzava;
  15.         this.brojZiteli = brojZiteli;
  16.     }
  17.  
  18.     public String getKratenica() {
  19.         return kratenica;
  20.     }
  21.     public String getDrzava() {
  22.         return drzava;
  23.     }
  24.     public int getBrojZiteli() {
  25.         return brojZiteli;
  26.     }
  27.     public void setKratenica(String kratenica) {
  28.         this.kratenica = kratenica;
  29.     }
  30.     public void setDrzava(String drzava) {
  31.         this.drzava = drzava;
  32.     }
  33.     public void setBroZiteli(int brojZiteli) {
  34.         this.brojZiteli = brojZiteli;
  35.     }
  36.     public int presmetajMilioni() {
  37.         return Math.round(brojZiteli / 1000000);
  38.     }
  39. }
  40. public class Naloga13 {
  41.     static HashMap<String, Drzava> preberiDrzava(String imeDatoteke) {
  42.         HashMap<String, Drzava> map = new HashMap<>();
  43.  
  44.         try {
  45.             Scanner scanner = new Scanner(new File(imeDatoteke));
  46.             while(scanner.hasNextLine()) {
  47.                 String line = scanner.nextLine();
  48.                 String[] niza = line.split(":");
  49.                 map.put(niza[0], new Drzava(niza[0], niza[1], Integer.parseInt(niza[2])));
  50.             }
  51.  
  52.         }
  53.         catch(Exception e) {
  54.             System.out.println("Error " + e);
  55.         }
  56.  
  57.         return map;
  58.     }
  59.     public static void main(String[] args) {
  60.         HashMap<String, Drzava> map = preberiDrzava(args[0]);
  61.         ArrayList<String> keys = new ArrayList<>(map.keySet());
  62.  
  63.         keys.sort(new Comparator<String>() {
  64.             @Override
  65.             public int compare(String a, String b) {
  66.                 Drzava d1 = map.get(a);
  67.                 Drzava d2 = map.get(b);
  68.  
  69.                 if(d1.presmetajMilioni() == d2.presmetajMilioni()) {
  70.                     return d1.getDrzava().compareTo(d2.getDrzava());
  71.                 }
  72.                
  73.                 return d1.presmetajMilioni() - d2.presmetajMilioni();
  74.             }
  75.         });
  76.  
  77.         System.out.println(keys);
  78.     }
  79. }
  80.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement