Advertisement
trafka

MPK

Apr 24th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.04 KB | None | 0 0
  1. package mpkzakup;
  2. import java.time.LocalDate;
  3.  
  4. public class Biletomat {
  5.     final private String lokalizacja;
  6.     private int pojemnosc;
  7.     private int aktualny;
  8.     Bilet zwykly = new Bilet("zwykly",2.8);
  9.     BiletUlgowy ulgowy = new BiletUlgowy(1.4);
  10.     private Transakcja[] archiwum;
  11.     Biletomat(String lokalizacja, int pojemnosc)
  12.     {
  13.         this.lokalizacja=lokalizacja;
  14.         this.pojemnosc=pojemnosc;
  15.         archiwum = new Transakcja[pojemnosc];
  16.     }
  17.     public Pieniadz wydajReszte(Pieniadz wplata,double koszt)
  18.     {
  19.         System.out.print("Reszta ");
  20.         return new Pieniadz(wplata.getRodzaj(),(wplata.getWartosc()-koszt));
  21.     }
  22.     public void kupBilety(int ilosc, String rodzaj, Pieniadz platnosc)
  23.     {
  24.         System.out.println("Kupujesz bilet: " + rodzaj);
  25.         if(rodzaj.equals("ulgowy"))
  26.         {
  27.                 archiwum [aktualny++]=new Transakcja(ilosc,ulgowy);
  28.                 wydajReszte(platnosc,archiwum[aktualny-1].wartoscZakupu() );
  29.         }
  30.         else if(rodzaj.equals("zwykly"))
  31.         {
  32.                 archiwum [aktualny++]=new Transakcja(ilosc,zwykly);
  33.                 wydajReszte(platnosc,archiwum[aktualny-1].wartoscZakupu() );
  34.         }
  35.     }
  36.     public void wypiszTransakcje(LocalDate data)
  37.     {
  38.         for(int i = 0; i<aktualny;i++)
  39.         {
  40.             if(archiwum[i].getData().equals(data))
  41.                 System.out.println(archiwum[i]);
  42.         }
  43.     }
  44. }
  45.  
  46.  
  47. public class Bilet {
  48.     private String rodzaj;
  49.     private double cena;
  50.     Bilet(String rodzaj, double cena)
  51.     {
  52.         this.rodzaj= rodzaj;
  53.         this.cena=cena;
  54.     }
  55.    
  56.     public String getRodzaj() {
  57.         return rodzaj;
  58.     }
  59.  
  60.     public double getCena() {
  61.         return cena;
  62.     }
  63.  
  64.     @Override
  65.     public String toString() {
  66.         return "Bilet [rodzaj=" + rodzaj + ", cena=" + cena + "]";
  67.     }
  68.  
  69. }
  70.  
  71.  
  72. public class Pieniadz {
  73.     private String rodzaj;
  74.     private double wartosc;
  75.     Pieniadz(String rodzaj, double wartosc)
  76.     {
  77.         System.out.println("Pieniadz: "+rodzaj+ " " + wartosc + " zl");
  78.         this.rodzaj=rodzaj;
  79.         this.wartosc=wartosc;
  80.     }
  81.     public String getRodzaj() {
  82.         return rodzaj;
  83.     }
  84.     public double getWartosc() {
  85.         return wartosc;
  86.     }
  87.    
  88. }
  89.  
  90. import java.time.LocalDate;
  91.  
  92. public class Transakcja {
  93.     final private LocalDate data;
  94.     final private int ilosc;
  95.     private Bilet bilet;
  96.    
  97.     Transakcja(int ilosc, Bilet bilet)
  98.     {
  99.         this.ilosc=ilosc;
  100.         this.bilet=bilet;
  101.         data=LocalDate.now();
  102.     }
  103.  
  104.     public LocalDate getData() {
  105.         return data;
  106.     }
  107.     public double wartoscZakupu()
  108.     {
  109.         return ilosc*bilet.getCena();
  110.     }
  111.     @Override
  112.     public String toString() {
  113.         return " " + data + " : " + bilet.getRodzaj() +" : "+ ilosc+ " : "+wartoscZakupu() ;
  114.     }
  115.    
  116. }
  117.  
  118. import java.time.LocalDate;
  119.  
  120. public class BiletomatTester {
  121.     public static void main (String[] args)
  122.     {
  123.         Biletomat biletomat1 = new Biletomat("Krakow", 10);
  124.         Pieniadz pincZlotych = new Pieniadz ("gotowka",5.0);
  125.         Pieniadz zlotaKarta2 = new Pieniadz ("karta",19.27);
  126.         biletomat1.kupBilety(3, "ulgowy", pincZlotych);
  127.         biletomat1.kupBilety(1, "zwykly", pincZlotych);
  128.         biletomat1.kupBilety(5, "zwykly", zlotaKarta2);
  129.         biletomat1.wypiszTransakcje(LocalDate.now());
  130.     }
  131. }
  132.  
  133.  
  134. public class BiletUlgowy extends Bilet {
  135.     BiletUlgowy(double cena)
  136.     {
  137.         super("ulgowy", cena);
  138.     }
  139. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement