Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package mpkzakup;
- import java.time.LocalDate;
- public class Biletomat {
- final private String lokalizacja;
- private int pojemnosc;
- private int aktualny;
- Bilet zwykly = new Bilet("zwykly",2.8);
- BiletUlgowy ulgowy = new BiletUlgowy(1.4);
- private Transakcja[] archiwum;
- Biletomat(String lokalizacja, int pojemnosc)
- {
- this.lokalizacja=lokalizacja;
- this.pojemnosc=pojemnosc;
- archiwum = new Transakcja[pojemnosc];
- }
- public Pieniadz wydajReszte(Pieniadz wplata,double koszt)
- {
- System.out.print("Reszta ");
- return new Pieniadz(wplata.getRodzaj(),(wplata.getWartosc()-koszt));
- }
- public void kupBilety(int ilosc, String rodzaj, Pieniadz platnosc)
- {
- System.out.println("Kupujesz bilet: " + rodzaj);
- if(rodzaj.equals("ulgowy"))
- {
- archiwum [aktualny++]=new Transakcja(ilosc,ulgowy);
- wydajReszte(platnosc,archiwum[aktualny-1].wartoscZakupu() );
- }
- else if(rodzaj.equals("zwykly"))
- {
- archiwum [aktualny++]=new Transakcja(ilosc,zwykly);
- wydajReszte(platnosc,archiwum[aktualny-1].wartoscZakupu() );
- }
- }
- public void wypiszTransakcje(LocalDate data)
- {
- for(int i = 0; i<aktualny;i++)
- {
- if(archiwum[i].getData().equals(data))
- System.out.println(archiwum[i]);
- }
- }
- }
- public class Bilet {
- private String rodzaj;
- private double cena;
- Bilet(String rodzaj, double cena)
- {
- this.rodzaj= rodzaj;
- this.cena=cena;
- }
- public String getRodzaj() {
- return rodzaj;
- }
- public double getCena() {
- return cena;
- }
- @Override
- public String toString() {
- return "Bilet [rodzaj=" + rodzaj + ", cena=" + cena + "]";
- }
- }
- public class Pieniadz {
- private String rodzaj;
- private double wartosc;
- Pieniadz(String rodzaj, double wartosc)
- {
- System.out.println("Pieniadz: "+rodzaj+ " " + wartosc + " zl");
- this.rodzaj=rodzaj;
- this.wartosc=wartosc;
- }
- public String getRodzaj() {
- return rodzaj;
- }
- public double getWartosc() {
- return wartosc;
- }
- }
- import java.time.LocalDate;
- public class Transakcja {
- final private LocalDate data;
- final private int ilosc;
- private Bilet bilet;
- Transakcja(int ilosc, Bilet bilet)
- {
- this.ilosc=ilosc;
- this.bilet=bilet;
- data=LocalDate.now();
- }
- public LocalDate getData() {
- return data;
- }
- public double wartoscZakupu()
- {
- return ilosc*bilet.getCena();
- }
- @Override
- public String toString() {
- return " " + data + " : " + bilet.getRodzaj() +" : "+ ilosc+ " : "+wartoscZakupu() ;
- }
- }
- import java.time.LocalDate;
- public class BiletomatTester {
- public static void main (String[] args)
- {
- Biletomat biletomat1 = new Biletomat("Krakow", 10);
- Pieniadz pincZlotych = new Pieniadz ("gotowka",5.0);
- Pieniadz zlotaKarta2 = new Pieniadz ("karta",19.27);
- biletomat1.kupBilety(3, "ulgowy", pincZlotych);
- biletomat1.kupBilety(1, "zwykly", pincZlotych);
- biletomat1.kupBilety(5, "zwykly", zlotaKarta2);
- biletomat1.wypiszTransakcje(LocalDate.now());
- }
- }
- public class BiletUlgowy extends Bilet {
- BiletUlgowy(double cena)
- {
- super("ulgowy", cena);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement