DamSi

Untitled

Dec 18th, 2016
569
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.41 KB | None | 0 0
  1. /**
  2.  * Created by Damjan on 18.8.2016.
  3.  */
  4.  
  5. /*
  6. На стандарден влез N е даден цел број кој означува број на мерења, и потоа во следните N линии дадени се мерења во форма: општина, мерка.
  7. За некои општини е можно да се дадени повеќе мерки.
  8.  
  9. Во последната линија од влезот ќе биде дадено име на една општина и ваша задача е да го отпечатите средното загадување во таа општина базирано врз дадените
  10. мерења.
  11.  
  12. 5
  13. Karposh 5.2
  14. Chair 3.11
  15. Centar 2.23
  16. Karposh 1.7
  17. Karposh 2.67
  18. Karposh
  19.  
  20. 3.19
  21. * */
  22. public class Opstini {
  23.     public static void main(String[] args) throws IOException {
  24.         BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
  25.         int N = Integer.parseInt(reader.readLine());
  26.         HashMap<String, Municipal> merki = new HashMap<>();
  27.         for (int i = 0; i < N; i++) {
  28.             String[] parts = reader.readLine().split(" ");
  29.             if (merki.containsKey(parts[0])) {
  30.                 Municipal m = merki.get(parts[0]);
  31.                 m.dodadiMerenje(Double.parseDouble(parts[1]));
  32.             } else {
  33.                 merki.put(parts[0], new Municipal(parts[0], Double.parseDouble(parts[1])));
  34.             }
  35.         }
  36.         String o = reader.readLine();
  37.         Municipal m = merki.get(o);
  38.         System.out.println(m.toString());
  39.     }
  40. }
  41.  
  42. class Municipal {
  43.     private String ime;
  44.     private double zagaduvanje;
  45.     private List<Double> merenja;
  46.  
  47.     Municipal(String ime, double zagaduvanje) {
  48.         this.ime = ime;
  49.         this.zagaduvanje = zagaduvanje;
  50.         this.merenja = new ArrayList<>();
  51.         merenja.add(zagaduvanje);
  52.     }
  53.  
  54.    private double najdiProsecnoZagaduvanje() {
  55.         double vkupno = 0;
  56.         for (double d : merenja) {
  57.             vkupno += d;
  58.         }
  59.         return vkupno / merenja.size();
  60.     }
  61.  
  62.     void dodadiMerenje(double merenje) {
  63.         merenja.add(merenje);
  64.     }
  65.  
  66.     @Override
  67.     public String toString() {
  68.         return String.format("%.2f", najdiProsecnoZagaduvanje());
  69.     }
  70.  
  71.     public String getIme() {
  72.         return ime;
  73.     }
  74.  
  75.     public double getZagaduvanje() {
  76.         return zagaduvanje;
  77.     }
  78. }
Advertisement
Add Comment
Please, Sign In to add comment