Crazy

Патување

Oct 20th, 2017
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.58 KB | None | 0 0
  1. import java.util.Scanner;
  2. import java.lang.Exception;
  3.  
  4. class Patuvanje {
  5.  
  6.     String ime;
  7.     int cena;
  8.  
  9.  
  10.     Patuvanje(String ime, int cena)
  11.     {
  12.         this.ime=ime;
  13.         this.cena=cena;
  14.     }
  15.  
  16.     public int getCena(){return cena;}
  17.     public int getPocetenMesec(){return 0;}
  18.     public String getIme(){return ime;}
  19.  
  20.  
  21.     public int vratiVremeVoDenovi(){return 0;}
  22.  
  23.     public static int minCena(Patuvanje[] niza, int n, Patuvanje zaSporedba)
  24.     {
  25.         int minimumCena=100000;
  26.         int den=zaSporedba.vratiVremeVoDenovi();
  27.         for (int i = 0; i < n; i++) {
  28.             if (den < niza[i].vratiVremeVoDenovi()&&minimumCena > niza[i].getCena()) {
  29.                 minimumCena = niza[i].getCena();
  30.             }
  31.         }
  32.         return minimumCena;
  33.     }
  34.    
  35.  
  36.  
  37.  
  38. }
  39.  
  40. class PraznicnoPatuvanje extends Patuvanje {
  41.  
  42.     int pocetenDatum;
  43.     int kraenDatum;
  44.     int pocetenMesec;
  45.     int kraenMesec;
  46.  
  47.     PraznicnoPatuvanje(String ime, int cena, int pocetenDatum, int pocetenMesec, int kraenDatum, int kraenMesec)
  48.     {
  49.         super(ime,cena);
  50.         try{
  51.             if (pocetenMesec >kraenMesec)
  52.                 throw new Exception("mesec");
  53.             else if (pocetenMesec==kraenMesec && pocetenDatum >kraenDatum)
  54.                 throw new Exception("den");
  55.             else
  56.             {
  57.                 this.pocetenDatum=pocetenDatum;
  58.                 this.pocetenMesec=pocetenMesec;
  59.                 this.kraenMesec=kraenMesec;
  60.                 this.kraenDatum=kraenDatum;
  61.             }
  62.         } catch (Exception obj)
  63.         {
  64.             System.out.println("Iskluchok");
  65.             if (obj.getMessage() == "mesec")
  66.             {
  67.                 this.pocetenDatum = kraenDatum;
  68.                 this.pocetenMesec= kraenMesec;
  69.                 this.kraenDatum = pocetenDatum;
  70.                 this.kraenMesec=pocetenMesec;
  71.  
  72.             }
  73.             else
  74.             {
  75.                 this.pocetenDatum=kraenDatum;
  76.                 this.pocetenMesec=pocetenMesec;
  77.                 this.kraenDatum=kraenDatum;
  78.                 this.kraenMesec=kraenMesec;
  79.             }
  80.         }
  81.  
  82.     }
  83.  
  84.     public int vratiVremeVoDenovi(){
  85.         int i = 30 - pocetenDatum;
  86.         i += (kraenMesec - pocetenMesec - 1) * 30;
  87.         i += kraenDatum;
  88.         return i;
  89.     }
  90.  
  91.     public int getPocetenMesec(){return pocetenMesec;}
  92.  
  93.  
  94.  
  95. }
  96.  
  97. class GodishenOdmor extends Patuvanje {
  98.  
  99.     int vremetraenje;
  100.  
  101.     GodishenOdmor(String ime, int cena, int vremetraenje)
  102.     {
  103.         super(ime,cena);
  104.         this.vremetraenje=vremetraenje;
  105.     }
  106.  
  107.     public int vratiVremeVoDenovi()
  108.     {
  109.         return vremetraenje;
  110.     }
  111.  
  112.     public int getCena()
  113.     {
  114.         return cena-1000;
  115.     }
  116.  
  117. }
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125. public class Test {
  126.     public static void main(String[] args) {
  127.  
  128.  
  129.         int n;
  130.         Scanner in=new Scanner(System.in);
  131.         n=in.nextInt();
  132.  
  133.         Patuvanje nizaPatuvanje[]=new Patuvanje[n];
  134.  
  135.         for (int i=0;i<n;i++){
  136.             int tip=in.nextInt();
  137.             if (tip==0){
  138.                 String ime=in.next();
  139.                 int cena =in.nextInt();
  140.                 int vreme=in.nextInt();
  141.                 nizaPatuvanje[i]=new GodishenOdmor(ime,cena,vreme);
  142.             }
  143.             else {
  144.                 String ime=in.next();
  145.                 int cena =in.nextInt();
  146.                 int pocD=in.nextInt();
  147.                 int pocM=in.nextInt();
  148.                 int krajD=in.nextInt();
  149.                 int krajM=in.nextInt();
  150.                 nizaPatuvanje[i]=new PraznicnoPatuvanje(ime,cena,pocD,pocM, krajD,krajM);
  151.  
  152.             }
  153.         }
  154.  
  155.         //решение на барање 1
  156.         for (int i = 0; i < nizaPatuvanje.length; i++) {
  157.             if (nizaPatuvanje[i].getPocetenMesec() == 6) {
  158.                 System.out.print(nizaPatuvanje[i].getIme() + " ");
  159.             }
  160.         }
  161.         System.out.println("");
  162.  
  163.         //решение на барање 2
  164.  
  165.         int s = 0;
  166.         for (int i = 0; i < nizaPatuvanje.length; i++) {
  167.             s += nizaPatuvanje[i].vratiVremeVoDenovi();
  168.         }
  169.         float pros = (float) s / nizaPatuvanje.length;
  170.         System.out.println(pros);
  171.  
  172.         //решение на барање 3
  173.         String ime = in.next();
  174.         int cena = in.nextInt();
  175.         int vreme = in.nextInt();
  176.         GodishenOdmor odmor = new GodishenOdmor(ime, cena, vreme);
  177.  
  178.         //решение на барање 4
  179.  
  180.         int minCena = Patuvanje.minCena(nizaPatuvanje, nizaPatuvanje.length, odmor);
  181.         System.out.println(minCena);
  182.  
  183.  
  184.  
  185.     }
  186. }
Add Comment
Please, Sign In to add comment