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