Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Created by Damjan on 18.8.2016.
- */
- /*
- На стандарден влез N е даден цел број кој означува број на мерења, и потоа во следните N линии дадени се мерења во форма: општина, мерка.
- За некои општини е можно да се дадени повеќе мерки.
- Во последната линија од влезот ќе биде дадено име на една општина и ваша задача е да го отпечатите средното загадување во таа општина базирано врз дадените
- мерења.
- 5
- Karposh 5.2
- Chair 3.11
- Centar 2.23
- Karposh 1.7
- Karposh 2.67
- Karposh
- 3.19
- * */
- public class Opstini {
- public static void main(String[] args) throws IOException {
- BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
- int N = Integer.parseInt(reader.readLine());
- HashMap<String, Municipal> merki = new HashMap<>();
- for (int i = 0; i < N; i++) {
- String[] parts = reader.readLine().split(" ");
- if (merki.containsKey(parts[0])) {
- Municipal m = merki.get(parts[0]);
- m.dodadiMerenje(Double.parseDouble(parts[1]));
- } else {
- merki.put(parts[0], new Municipal(parts[0], Double.parseDouble(parts[1])));
- }
- }
- String o = reader.readLine();
- Municipal m = merki.get(o);
- System.out.println(m.toString());
- }
- }
- class Municipal {
- private String ime;
- private double zagaduvanje;
- private List<Double> merenja;
- Municipal(String ime, double zagaduvanje) {
- this.ime = ime;
- this.zagaduvanje = zagaduvanje;
- this.merenja = new ArrayList<>();
- merenja.add(zagaduvanje);
- }
- private double najdiProsecnoZagaduvanje() {
- double vkupno = 0;
- for (double d : merenja) {
- vkupno += d;
- }
- return vkupno / merenja.size();
- }
- void dodadiMerenje(double merenje) {
- merenja.add(merenje);
- }
- @Override
- public String toString() {
- return String.format("%.2f", najdiProsecnoZagaduvanje());
- }
- public String getIme() {
- return ime;
- }
- public double getZagaduvanje() {
- return zagaduvanje;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment