Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.security.cert.Extension;
- import java.util.Scanner;
- class MyException extends Exception {
- private String text;
- public MyException(String text) {
- super();
- this.text = text;
- }
- public String myMessage() {
- return text;
- }
- }
- class Patuvanje {
- private String ime;
- private int cena;
- public Patuvanje() {
- super();
- }
- public Patuvanje(String ime, int cena) {
- super();
- this.ime = ime;
- this.cena = cena;
- }
- public String getIme() {
- return ime;
- }
- public void setIme(String ime) {
- this.ime = ime;
- }
- public int getCena() {
- return cena;
- }
- public void setCena(int cena) {
- this.cena = cena;
- }
- public int vratiVremeVoDenovi() {
- return 0;
- }
- public static int vratiMinCena(Patuvanje[] niza, int n, Patuvanje zaSporedba) {
- int minCena = 2137483647;
- boolean flag = false;
- for (int i = 0; i < n; i++) {
- if (niza[i].vratiVremeVoDenovi() > zaSporedba.vratiVremeVoDenovi()) {
- if (niza[i].getCena() < minCena) {
- minCena = niza[i].getCena();
- flag = true;
- }
- }
- }
- if (flag)
- return minCena;
- else
- return 0;
- }
- }
- class GodishenOdmor extends Patuvanje {
- private int vremetraenjeDenovi;
- public GodishenOdmor() {
- super();
- }
- public GodishenOdmor(String ime, int cena, int vremetraenjeDenovi) {
- super(ime, cena - 1000);
- this.vremetraenjeDenovi = vremetraenjeDenovi;
- }
- public int getVremetraenjeDenovi() {
- return vremetraenjeDenovi;
- }
- public void setVremetraenjeDenovi(int vremetraenjeDenovi) {
- this.vremetraenjeDenovi = vremetraenjeDenovi;
- }
- @Override
- public int vratiVremeVoDenovi() {
- return vremetraenjeDenovi;
- }
- @Override
- public String toString() {
- return this.getIme();
- }
- }
- class PraznicnoPatuvanje extends Patuvanje {
- private int pochetenDatum;
- private int pochetenMesec;
- private int kraenDatum;
- private int kraenMesec;
- public PraznicnoPatuvanje() {
- super();
- }
- public PraznicnoPatuvanje(String ime, int cena, int pD, int pM, int kD, int kM) {
- super(ime, cena);
- try {
- if (pM > kM)
- throw new MyException("Iskluchok");
- /*else if (pochetenMesec == kraenMesec&&pochetenDatum > kraenDatum)
- throw new MyException("Iskluchok");*/
- else {
- pochetenDatum = pD;
- pochetenMesec = pM;
- kraenDatum = kD;
- kraenMesec = kM;
- }
- } catch (MyException a) {
- pochetenDatum = kD;
- pochetenMesec = kM;
- kraenDatum = pD;
- kraenMesec = pM;
- System.out.println(a.myMessage());
- }
- }
- public int getPochetenDatum() {
- return pochetenDatum;
- }
- public void setPochetenDatum(int pochetenDatum) {
- this.pochetenDatum = pochetenDatum;
- }
- public int getPochetenMesec() {
- return pochetenMesec;
- }
- public void setPochetenMesec(int pochetenMesec) {
- this.pochetenMesec = pochetenMesec;
- }
- public int getKraenDatum() {
- return kraenDatum;
- }
- public void setKraenDatum(int kraenDatum) {
- this.kraenDatum = kraenDatum;
- }
- public int getKraenMesec() {
- return kraenMesec;
- }
- public void setKraenMesec(int kraenMesec) {
- this.kraenMesec = kraenMesec;
- }
- @Override
- public int vratiVremeVoDenovi() {
- return ((kraenMesec - 1) * 30 + kraenDatum) - ((pochetenMesec - 1) * 30 + pochetenDatum);
- }
- @Override
- public String toString() {
- return this.getIme();
- }
- }
- public class Test {
- public static double prosekVremetraenje(Patuvanje[] patuvanja) {
- double prosek = 0;
- for (int i = 0; i < patuvanja.length; i++) {
- prosek += patuvanja[i].vratiVremeVoDenovi();
- }
- return prosek / patuvanja.length;
- }
- public static String patuvanjaVoMesec(Patuvanje[] patuvanja) {
- String izlez = new String();
- for (int i = 0; i < patuvanja.length; i++) {
- if (patuvanja[i] instanceof PraznicnoPatuvanje) {
- PraznicnoPatuvanje tmp = (PraznicnoPatuvanje) patuvanja[i];
- if (tmp.getPochetenMesec() == 6)
- izlez += patuvanja[i].toString() + " ";
- }
- }
- return izlez;
- }
- public static void main(String[] args) {
- int n;
- Scanner in = new Scanner(System.in);
- n = in.nextInt();
- Patuvanje nizaPatuvanje[] = new Patuvanje[n];
- for (int i = 0; i < n; i++) {
- int tip = in.nextInt();
- if (tip == 0) {
- String ime = in.next();
- int cena = in.nextInt();
- int vreme = in.nextInt();
- nizaPatuvanje[i] = new GodishenOdmor(ime, cena, vreme);
- } else {
- String ime = in.next();
- int cena = in.nextInt();
- int pocD = in.nextInt();
- int pocM = in.nextInt();
- int krajD = in.nextInt();
- int krajM = in.nextInt();
- nizaPatuvanje[i] = new PraznicnoPatuvanje(ime, cena, pocD, pocM, krajD, krajM);
- }
- }
- System.out.println(Test.patuvanjaVoMesec(nizaPatuvanje));
- System.out.println(Test.prosekVremetraenje(nizaPatuvanje));
- String ime = in.next();
- int cena = in.nextInt();
- int vreme = in.nextInt();
- GodishenOdmor novOdmor = new GodishenOdmor(ime, cena, vreme);
- System.out.println(Patuvanje.vratiMinCena(nizaPatuvanje, n, novOdmor));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement