Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.File;
- import java.util.ArrayList;
- import java.util.Comparator;
- import java.util.HashMap;
- import java.util.Scanner;
- class Drzava {
- private String kratenica;
- private String drzava;
- private int brojZiteli;
- public Drzava(String kratenica, String drzava, int brojZiteli) {
- this.kratenica = kratenica;
- this.drzava = drzava;
- this.brojZiteli = brojZiteli;
- }
- public String getKratenica() {
- return kratenica;
- }
- public String getDrzava() {
- return drzava;
- }
- public int getBrojZiteli() {
- return brojZiteli;
- }
- public void setKratenica(String kratenica) {
- this.kratenica = kratenica;
- }
- public void setDrzava(String drzava) {
- this.drzava = drzava;
- }
- public void setBroZiteli(int brojZiteli) {
- this.brojZiteli = brojZiteli;
- }
- public int presmetajMilioni() {
- return Math.round((float) brojZiteli / 1000000f);
- }
- }
- public class Naloga13 {
- static HashMap<String, Drzava> preberiDrzava(String imeDatoteke) {
- HashMap<String, Drzava> map = new HashMap<>();
- try {
- Scanner scanner = new Scanner(new File(imeDatoteke));
- while(scanner.hasNextLine()) {
- String line = scanner.nextLine();
- String[] niza = line.split(":");
- map.put(niza[0], new Drzava(niza[0], niza[1], Integer.parseInt(niza[2])));
- }
- }
- catch(Exception e) {
- System.out.println("Error " + e);
- }
- return map;
- }
- public static void main(String[] args) {
- HashMap<String, Drzava> map = preberiDrzava(args[0]);
- ArrayList<String> keys = new ArrayList<>(map.keySet());
- keys.sort(new Comparator<String>() {
- @Override
- public int compare(String a, String b) {
- Drzava d1 = map.get(a);
- Drzava d2 = map.get(b);
- if(d1.presmetajMilioni() == d2.presmetajMilioni()) {
- return d1.getDrzava().compareTo(d2.getDrzava());
- }
- return d1.presmetajMilioni() - d2.presmetajMilioni();
- }
- });
- int current_million = -1;
- for(int i = 0; i < keys.size(); i++) {
- String drzava = keys.get(i);
- Drzava d = map.get(drzava);
- if(current_million != d.presmetajMilioni()) {
- current_million = d.presmetajMilioni();
- System.out.println(current_million + "M");
- }
- System.out.println(" - " + d.getDrzava() + " (" + d.getKratenica() + "), " + d.getBrojZiteli());
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement