DamSi

Untitled

Aug 13th, 2016
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.03 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.IOException;
  3. import java.io.InputStreamReader;
  4. import java.util.ArrayList;
  5. import java.util.HashMap;
  6. import java.util.List;
  7. import java.util.Map;
  8.  
  9. /**
  10.  * Created by Damjan on 13.8.2016.
  11.  */
  12.  
  13. /*
  14. *
  15. * Хешот беше со дадени името на општината, временски интервал и температура да се испечати влезот со
  16. највисоката температура за општината која се бара, пример за влез:
  17. 4
  18. Скопје 13:00 15:30 25.6
  19. Прилеп 12:00 18:00 23.0
  20. Битола 16:00 18:30 22.3
  21. Прилеп 18:00 20:30 18.2
  22. Прилеп
  23. Излезот ќе биде :
  24.  
  25. Прилеп 12:00-18:00 23.0
  26. * */
  27. public class Measurements {
  28.     public static void main(String[] args) throws IOException {
  29.         BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
  30.         int N = Integer.parseInt(reader.readLine());
  31.         Map<String, Municipality> measurements = new HashMap<>();
  32.         for (int i = 0; i < N; ++i) {
  33.             String[] parts = reader.readLine().split(" ");
  34.             String name = parts[0];
  35.             String start = parts[1];
  36.             String end = parts[2];
  37.             double temperature = Double.parseDouble(parts[3]);
  38.             if (measurements.containsKey(name)) {
  39.                 Municipality m = measurements.get(name);
  40.                 m.addMeasurement(temperature);
  41.             } else {
  42.                 measurements.put(name, new Municipality(name, start, end, temperature));
  43.             }
  44.         }
  45.         String municipality = reader.readLine();
  46.         Municipality m = measurements.get(municipality);
  47.         System.out.println(m.toString());
  48.     }
  49. }
  50.  
  51. class Municipality {
  52.     private String name;
  53.     private String start;
  54.     private String end;
  55.     private double temperature;
  56.     private List<Double> measurements;
  57.  
  58.     public Municipality(String name, String start, String end, double temperature) {
  59.         this.name = name;
  60.         this.start = start;
  61.         this.end = end;
  62.         this.temperature = temperature;
  63.         measurements = new ArrayList<>();
  64.         measurements.add(temperature);
  65.     }
  66.  
  67.     void addMeasurement(double temperature) {
  68.         measurements.add(temperature);
  69.     }
  70.  
  71.     double findMaxTemperature() {
  72.         double max = measurements.get(0);
  73.         for (double d : measurements) {
  74.             if (d > measurements.get(measurements.size() - 1)) {
  75.                 max = d;
  76.             } else {
  77.                 d = max;
  78.             }
  79.         }
  80.         return max;
  81.     }
  82.  
  83.     public String getName() {
  84.         return name;
  85.     }
  86.  
  87.     public String getStart() {
  88.         return start;
  89.     }
  90.  
  91.     public String getEnd() {
  92.         return end;
  93.     }
  94.  
  95.     public double getTemperature() {
  96.         return temperature;
  97.     }
  98.  
  99.     @Override
  100.     public String toString() {
  101.         return String.format("%s %s %s %.1f", name, start, end, findMaxTemperature());
  102.     }
  103. }
Add Comment
Please, Sign In to add comment