Advertisement
jovanovski

НП Лаб8 Зад1

Dec 10th, 2012
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.58 KB | None | 0 0
  1. import java.io.InputStream;
  2. import java.util.*;
  3.  
  4. class WeatherStats{
  5.    
  6.     private Map<String, String> vrnezi;
  7.     private Map<String, String> minTemp;
  8.     private Map<String, String> maxTemp;
  9.     private Map<String, String> pritisok;
  10.    
  11.  
  12.    
  13.     public WeatherStats(InputStream in){
  14.         vrnezi = new HashMap<String, String> ();
  15.         minTemp = new HashMap<String, String> ();
  16.         maxTemp = new HashMap<String, String> ();
  17.         pritisok = new HashMap<String, String> ();
  18.        
  19.         Scanner scanner = new Scanner(in);
  20.         while(scanner.hasNext()){
  21.             String[] delovi = scanner.nextLine().split(";");
  22.             String grad = delovi[0];
  23.             for(int i=1;i<delovi.length;i++){
  24.                 String [] delovi2 = delovi[i].split(" ");
  25.                 minTemp.put(grad + " " + delovi2[1], delovi2[2]);
  26.                 maxTemp.put(grad + " " + delovi2[1], delovi2[3]);
  27.                 pritisok.put(grad + " " + delovi2[1], delovi2[4]);
  28.                 vrnezi.put(grad + " " + delovi2[1], delovi2[5]);
  29.             }
  30.             break; //TRGNI OVA ZA DA RABOTI NA ELAB!
  31.         }
  32.     }
  33.    
  34.     public String temperature(String city, String type){
  35.         String fin = "";
  36.         if(type.equals("min")){
  37.             int mintemp = Integer.MAX_VALUE;
  38.             Iterator it = minTemp.entrySet().iterator();
  39.             while(it.hasNext()){
  40.                 Map.Entry en = (Map.Entry) it.next();
  41.                 String [] pom = ((String) en.getKey()).split(" ");
  42.                 if(pom[0].equals(city)){
  43.                     if(Integer.valueOf((String) en.getValue()) < mintemp){
  44.                         mintemp = Integer.valueOf((String) en.getValue());
  45.                         fin = mintemp + "*C " + pom[1];
  46.                     }
  47.                 }
  48.             }
  49.         }
  50.         else if(type.equals("max")){
  51.             int maxtemp = Integer.MIN_VALUE;
  52.             Iterator it = maxTemp.entrySet().iterator();
  53.             while(it.hasNext()){
  54.                 Map.Entry en = (Map.Entry) it.next();
  55.                 String [] pom = ((String) en.getKey()).split(" ");
  56.                 if(pom[0].equals(city)){
  57.                     if(Integer.valueOf((String) en.getValue()) > maxtemp){
  58.                         maxtemp = Integer.valueOf((String) en.getValue());
  59.                         fin = maxtemp + "*C " + pom[1];
  60.                     }
  61.                 }
  62.             }
  63.         }
  64.         else{
  65.             //МН ЗАМАРАЊЕ, АЈ ПОСЛЕ
  66.            
  67.         }
  68.         return fin;
  69.     }
  70.    
  71.     public String temeratureMin(){
  72.         String fin = "";
  73.         int mintemp = Integer.MAX_VALUE;
  74.         Iterator it = minTemp.entrySet().iterator();
  75.         while(it.hasNext()){
  76.             Map.Entry en = (Map.Entry) it.next();
  77.             String [] pom = ((String) en.getKey()).split(" ");
  78.                 if(Integer.valueOf((String) en.getValue()) < mintemp){
  79.                     mintemp = Integer.valueOf((String) en.getValue());
  80.                     fin = pom[0] +" " +mintemp + "*C " + pom[1];
  81.                 }
  82.         }
  83.         return fin;
  84.     }
  85.    
  86.     public String temeratureMax(){
  87.         String fin = "";
  88.         int mintemp = Integer.MIN_VALUE;
  89.         Iterator it = maxTemp.entrySet().iterator();
  90.         while(it.hasNext()){
  91.             Map.Entry en = (Map.Entry) it.next();
  92.             String [] pom = ((String) en.getKey()).split(" ");
  93.                 if(Integer.valueOf((String) en.getValue()) > mintemp){
  94.                     mintemp = Integer.valueOf((String) en.getValue());
  95.                     fin = pom[0] +" " + mintemp + "*C " + pom[1];
  96.                 }
  97.         }
  98.         return fin;
  99.     }
  100.    
  101.     public int rainyDays(String city){
  102.         int brojac = 0;
  103.         Iterator it = vrnezi.entrySet().iterator();
  104.         while(it.hasNext()){
  105.             Map.Entry en = (Map.Entry) it.next();
  106.             String [] pom = ((String) en.getKey()).split(" ");
  107.             if(pom[0].equals(city)){
  108.                 if(Float.valueOf((String) en.getValue()) > 0.05){
  109.                     brojac++;
  110.                 }
  111.             }
  112.         }
  113.         return brojac;
  114.     }
  115.    
  116.     public void print(){
  117.         Iterator it = vrnezi.entrySet().iterator();
  118.         while(it.hasNext()){
  119.             System.out.println(it.next());
  120.         }
  121.     }
  122.    
  123.  
  124. }
  125.  
  126. public class WeatherStatsTest {
  127.  
  128.     public static void main(String[] args) {
  129.         WeatherStats we = new WeatherStats(System.in);
  130.         System.out.println(we.rainyDays("Berovo"));
  131.     }
  132.  
  133. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement