package com.company;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
class Konto
{
private String daneWlasciciela
;
private int dostepneSrodki;
private ArrayList<Transakcja> transakcje;
public Konto
(String rodzajKonta,
String daneWlasciciela,
int dostepneSrodki
)
{
this.rodzajKonta = rodzajKonta;
this.daneWlasciciela = daneWlasciciela;
this.dostepneSrodki = dostepneSrodki;
transakcje = new ArrayList<>();
}
public void wplata(int sum)
{
if( sum > 0)
{
dostepneSrodki += sum;
}
}
public void wyplata(int sum)
{
if(dostepneSrodki - sum > 0)
{
dostepneSrodki -= sum;
}
else
{
System.
out.
println("brak srodkow");
}
}
public void addTranskacje(Transakcja tra)
{
transakcje.add(tra);
}
public void ResetTransakcje()
{
this.transakcje.clear();
}
public void wyswietlTransakcje()
{
for(Transakcja a: transakcje)
{
System.
out.
println(a.
toString());
}
}
public String getRodzajKonta
()
{
return rodzajKonta;
}
public String getDaneWlasciciela
()
{
return daneWlasciciela;
}
{
return "Rodzaj konta: " + rodzajKonta + ", Dane wlasciciela: " + daneWlasciciela
+ ", Dostepne srodki: " + dostepneSrodki;
}
}
class Transakcja
{
private LocalDate data;
private int wielkoscWplaty;
private int wielkoscWyplaty;
public Transakcja(LocalDate data, int wielkoscWplaty, int wielkoscWyplaty)
{
this.data = data;
this.wielkoscWplaty = wielkoscWplaty;
this.wielkoscWyplaty = wielkoscWyplaty;
}
public LocalDate getData()
{
return this.data;
}
{
return "Transakcja z dnia: " + data + " , wyplacono:" + wielkoscWyplaty + " zl "
+ " wpłacono: " + wielkoscWplaty + " zl ";
}
}
public class Bankomat
{
private Karta karta; // bankomat odszukuje dane konto na podstawie karty jaka zostala do niego wsadzona. Bąku będziesz wiedział?
private ArrayList<Transakcja> transakcjeBanku;
public Bankomat
(Karta karta,
String lokalizacja ,
String jakiBank
)
{
this.karta = karta;
this.lokalizacja = lokalizacja;
this.jakiBank = jakiBank;
transakcjeBanku = new ArrayList<>();
}
public void wplata(int ile, int kod)
{
if(karta.getBank() != jakiBank )
{
ile *= 0.05;
}
if(karta.wplata(kod, ile))
{
transakcjeBanku.add(new Transakcja(LocalDate.now(),ile,12 ));
System.
out.
println("transakcja przebiegla pomyslnie" + ile
);
}
else
{
System.
out.
println("zly kod");
}
}
public void wyplata(int ile, int kod)
{
if(karta.wyplata(kod, ile))
{
if(karta.getBank() != jakiBank )
{
ile *= 0.05;
}
transakcjeBanku.add(new Transakcja(LocalDate.now(),0,ile ));
System.
out.
println("transakcja przebiegla pomyslnie");
}
else
{
System.
out.
println("zly kod");
}
}
public void wydrukujTransakcje(LocalDate data)
{
for(Transakcja tr : transakcjeBanku)
{
if(tr.getData() == data)
{
}
}
}
{
for(Transakcja a : transakcjeBanku)
{
}
return "i to juz wszytkie transakcje";
}
}
-----------------------------------------------
package com.company;
import java.time.LocalDate;
import java.util.ArrayList;
class Karta
{
private Konto konto;
private int kod;
{
konto = new Konto(rodzajKonta, wlasciciel, dostepneSrodki);
this.sposobDostepu = sposobDostepu;
this.bank = bank;
this.kod = kod;
this.bank = bank;
}
public void wyswietlTransakcje()
{
konto.wyswietlTransakcje();
}
{
return bank;
}
public void ResetTransakcje(int kod)
{
if(this.kod == kod)
{
konto.ResetTransakcje();
}
}
public boolean wplata(int kod, int suma)
{
if(this.kod == kod)
{
konto.wplata(suma);
konto.addTranskacje(new Transakcja(LocalDate.now(), suma, 0));
return true;
}
else
{
System.
out.
println("zły kod autoryzacjny");
return false;
}
}
public boolean wyplata(int kod, int suma)
{
if(this.kod == kod)
{
konto.wyplata(suma);
konto.addTranskacje(new Transakcja(LocalDate.now(), 0, suma));
return true;
}
else
{
System.
out.
println("zły kod autoryzacyjny");
return false;
}
}
}
--------------------------------
package com.company;
public class Main
{
public static void main
(String[] args
)
{
Karta konto = new Karta("jozef Jak", "oszczednosciowe", 234, "zblzeniowo", 2324, "PKO" );
Bankomat bankomat= new Bankomat(konto, "krakow", "PKO");
System.
out.
println(bankomat.
toString());
bankomat.wplata(2324, 2324);
System.
out.
println((bankomat
));
konto.wyswietlTransakcje();
konto.ResetTransakcje(2324);
konto.wyswietlTransakcje();
}
}