Sothian

Bankomat

Jun 17th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.68 KB | None | 0 0
  1. /////////////////////////////////////// BANKOMAT //////////////////////////////////////////////////////
  2.  
  3. //////////////////////////////////////// MAIN ///////////////////////////////////////////////
  4. package Bankomat;
  5. import Bankomat.Bankomat;
  6.  
  7. public class Main
  8. {
  9.    public static void main(String[] args)
  10.    {
  11.       Karta konto = new Karta("jozef Jak", "oszczednosciowe", 234, "zblzeniowo", 2324, "PKO" );
  12.       Bankomat bankomat= new Bankomat(konto, "krakow", "PKO");
  13.       System.out.println(bankomat.toString());
  14.       bankomat.wplata(2324, 2324);
  15.       System.out.println((bankomat));
  16.       konto.wyswietlTransakcje();
  17.       konto.ResetTransakcje(2324);
  18.       konto.wyswietlTransakcje();
  19.    }
  20. }
  21. //////////////////////////////////////// TRANSAKCJA ///////////////////////////////////////////////
  22. package Bankomat;
  23. import java.time.*;
  24.  
  25. class Transakcja
  26. {
  27.     private LocalDate data;
  28.     private int wielkoscWplaty;
  29.     private int wielkoscWyplaty;
  30.     public Transakcja(LocalDate data, int wielkoscWplaty, int wielkoscWyplaty)
  31.     {
  32.         this.data = data;
  33.         this.wielkoscWplaty = wielkoscWplaty;
  34.         this.wielkoscWyplaty = wielkoscWyplaty;
  35.     }
  36.     public LocalDate getData()
  37.     {
  38.         return this.data;
  39.     }
  40.     public String toString()
  41.     {
  42.         return "Transakcja z dnia: " + data + " , wyplacono:" + wielkoscWyplaty + " zl "
  43.                 + " wpłacono: " + wielkoscWplaty + " zl ";
  44.     }
  45. }
  46. //////////////////////////////////////// BANKOMAT ///////////////////////////////////////////////
  47. package Bankomat;
  48. import java.util.*;
  49. import Bankomat.Karta;
  50. import Bankomat.Transakcja;
  51. import java.time.LocalDate;
  52.  
  53. public class Bankomat
  54. {
  55.     private Karta karta; // bankomat odszukuje dane konto na podstawie karty jaka zostala do niego wsadzona. Bąku będziesz wiedział?
  56.     private ArrayList<Transakcja> transakcjeBanku;
  57.     private String lokalizacja;
  58.     private String jakiBank;
  59.     public Bankomat(Karta karta, String lokalizacja , String jakiBank)
  60.     {
  61.         this.karta = karta;
  62.         this.lokalizacja = lokalizacja;
  63.         this.jakiBank = jakiBank;
  64.         transakcjeBanku = new ArrayList<>();
  65.     }
  66.     public  void wplata(int ile, int kod)
  67.     {
  68.         if(karta.getBank() != jakiBank )
  69.         {
  70.             ile *= 0.05;
  71.         }
  72.         if(karta.wplata(kod, ile))
  73.         {
  74.             transakcjeBanku.add(new Transakcja(LocalDate.now(),ile,12 ));
  75.             System.out.println("transakcja przebiegla pomyslnie" + ile);
  76.         }
  77.         else
  78.         {
  79.             System.out.println("zly kod");
  80.         }
  81.     }
  82.     public void wyplata(int ile, int kod)
  83.     {
  84.         if(karta.wyplata(kod, ile))
  85.         {
  86.             if(karta.getBank() != jakiBank )
  87.             {
  88.                 ile *= 0.05;
  89.             }
  90.             transakcjeBanku.add(new Transakcja(LocalDate.now(),0,ile ));
  91.             System.out.println("transakcja przebiegla pomyslnie");
  92.         }
  93.         else
  94.         {
  95.             System.out.println("zly kod");
  96.         }
  97.     }
  98.     public void wydrukujTransakcje(LocalDate data)
  99.     {
  100.         for(Transakcja tr : transakcjeBanku)
  101.         {
  102.             if(tr.getData() == data)
  103.             {
  104.                 System.out.println(tr);
  105.             }
  106.  
  107.         }
  108.     }
  109.     public String toString()
  110.     {
  111.         for(Transakcja a : transakcjeBanku)
  112.         {
  113.             System.out.println(a);
  114.         }
  115.         return "i to juz wszytkie transakcje";
  116.     }
  117. }
  118. //////////////////////////////////////// KONTO ///////////////////////////////////////////////
  119. package Bankomat;
  120. import java.util.ArrayList;
  121.  
  122. class Konto
  123. {
  124.     private String rodzajKonta;
  125.     private String daneWlasciciela;
  126.     private int dostepneSrodki;
  127.     private ArrayList<Transakcja> transakcje;
  128.     public Konto(String rodzajKonta, String daneWlasciciela, int dostepneSrodki)
  129.     {
  130.         this.rodzajKonta = rodzajKonta;
  131.         this.daneWlasciciela = daneWlasciciela;
  132.         this.dostepneSrodki = dostepneSrodki;
  133.         transakcje = new ArrayList<>();
  134.     }
  135.     public void wplata(int sum)
  136.     {
  137.         if( sum > 0)
  138.         {
  139.             dostepneSrodki += sum;
  140.         }
  141.     }
  142.     public void wyplata(int sum)
  143.     {
  144.         if(dostepneSrodki - sum > 0)
  145.         {
  146.  
  147.             dostepneSrodki -= sum;
  148.         }
  149.         else
  150.         {
  151.             System.out.println("brak srodkow");
  152.         }
  153.     }
  154.     public void addTranskacje(Transakcja tra)
  155.     {
  156.         transakcje.add(tra);
  157.     }
  158.     public void ResetTransakcje()
  159.     {
  160.         this.transakcje.clear();
  161.     }
  162.     public void wyswietlTransakcje()
  163.     {
  164.         for(Transakcja a: transakcje)
  165.         {
  166.             System.out.println(a.toString());
  167.         }
  168.     }
  169.     public String getRodzajKonta()
  170.     {
  171.         return rodzajKonta;
  172.     }
  173.     public String getDaneWlasciciela()
  174.     {
  175.         return  daneWlasciciela;
  176.     }
  177.     public String toString()
  178.     {
  179.         return "Rodzaj konta: " + rodzajKonta + ", Dane wlasciciela: " + daneWlasciciela
  180.                 + ", Dostepne srodki: " + dostepneSrodki;
  181.     }
  182. }
  183. //////////////////////////////////////// KARTA ///////////////////////////////////////////////
  184. package Bankomat;
  185. import java.time.LocalDate;
  186. import java.util.ArrayList;
  187.  
  188. class Karta
  189. {
  190.     private Konto konto;
  191.     private String sposobDostepu;
  192.     private int kod;
  193.     private String bank;
  194.     public Karta(String wlasciciel, String rodzajKonta, int dostepneSrodki, String sposobDostepu, int kod, String bank)
  195.     {
  196.         konto = new Konto(rodzajKonta, wlasciciel, dostepneSrodki);
  197.         this.sposobDostepu = sposobDostepu;
  198.         this.bank = bank;
  199.         this.kod = kod;
  200.         this.bank = bank;
  201.     }
  202.     public void wyswietlTransakcje()
  203.     {
  204.        konto.wyswietlTransakcje();
  205.  
  206.     }
  207.     public String getBank()
  208.     {
  209.         return bank;
  210.     }
  211.     public void ResetTransakcje(int kod)
  212.     {
  213.         if(this.kod == kod)
  214.         {
  215.             konto.ResetTransakcje();
  216.         }
  217.     }
  218.     public boolean wplata(int kod, int suma)
  219.     {
  220.         if(this.kod == kod)
  221.         {
  222.             konto.wplata(suma);
  223.             konto.addTranskacje(new Transakcja(LocalDate.now(), suma, 0));
  224.             return true;
  225.         }
  226.         else
  227.         {
  228.             System.out.println("zły kod autoryzacjny");
  229.             return false;
  230.         }
  231.     }
  232.     public boolean wyplata(int kod, int suma)
  233.     {
  234.         if(this.kod == kod)
  235.         {
  236.             konto.wyplata(suma);
  237.             konto.addTranskacje(new Transakcja(LocalDate.now(), 0, suma));
  238.             return true;
  239.         }
  240.         else
  241.         {
  242.             System.out.println("zły kod autoryzacyjny");
  243.             return false;
  244.         }
  245.     }
  246. }
Add Comment
Please, Sign In to add comment