forked from hummel/Bank-System
Kontoauszug hinzugefügt
parent
4e135b0bd9
commit
bad6afef46
|
@ -24,16 +24,38 @@ public class Bank {
|
|||
public Collection<Konto> getKontenliste() {
|
||||
return konten.values();//Liste aus HashMaps
|
||||
}
|
||||
public ArrayList<Long> EinzahlungenAuszahlungen(int knum, long betrag ){
|
||||
ArrayList<Long> bewegung= null;
|
||||
public ArrayList<Kontobewegung> EinzahlungenAuszahlungen(int knum, long betrag ){
|
||||
ArrayList<Kontobewegung> bewegung= null;
|
||||
Kontobewegung kb=null;
|
||||
if(knum != 0 && betrag !=0) {
|
||||
bewegung=konten.get(knum).getZahlungen();
|
||||
bewegung.add(betrag);
|
||||
if(betrag<0) {
|
||||
kb=new Kontobewegung(konten.get(knum).getInhaber(),betrag,Zahlungsart.AUSZAHLUNG);
|
||||
if(kb!=null) {
|
||||
bewegung.add(kb);
|
||||
return bewegung;
|
||||
}
|
||||
}else if(betrag>=0) {
|
||||
kb=new Kontobewegung(konten.get(knum).getInhaber(),betrag,Zahlungsart.EINZAHLUNG);
|
||||
if(kb!=null) {
|
||||
bewegung.add(kb);
|
||||
return bewegung;
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
|
||||
}
|
||||
public ArrayList<Kontobewegung> getKontobewegung(int knum){
|
||||
ArrayList<Kontobewegung> kBewegung= null;
|
||||
if(knum!=0) {
|
||||
kBewegung=konten.get(knum).getZahlungen();
|
||||
if(!kBewegung.isEmpty()) {
|
||||
return kBewegung;
|
||||
}
|
||||
}return null;
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -8,7 +8,7 @@ public class Konto {
|
|||
private int nummer;
|
||||
private long stand = 0;
|
||||
private String inhaber;
|
||||
private ArrayList<Long> zahlungen= new ArrayList<>();
|
||||
private ArrayList<Kontobewegung> zahlungen= new ArrayList<>();
|
||||
|
||||
public Konto(String inhaber) {
|
||||
nummer = 1000 + kontozähler++;
|
||||
|
@ -32,7 +32,7 @@ public class Konto {
|
|||
this.stand = stand;
|
||||
}
|
||||
|
||||
public ArrayList<Long> getZahlungen() {
|
||||
public ArrayList<Kontobewegung> getZahlungen() {
|
||||
return zahlungen;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,15 +1,19 @@
|
|||
package de.hs_mannheim.informatik.bank.domain;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
|
||||
public class Kontobewegung {
|
||||
private String auftraggeber=null;
|
||||
private Date datum = null;
|
||||
private Date datum = Calendar.getInstance().getTime();
|
||||
private Zahlungsart zahlungsart=null;
|
||||
private long betrag=0;
|
||||
|
||||
public Kontobewegung(String auftraggeber, Zahlungsart zahlungsart) {
|
||||
public Kontobewegung(String auftraggeber, long betrag,Zahlungsart zahlungsart) {
|
||||
this.auftraggeber=auftraggeber;
|
||||
this.datum=datum;
|
||||
formatDate(datum);
|
||||
this.betrag=betrag;
|
||||
this.zahlungsart=zahlungsart;
|
||||
}
|
||||
|
||||
|
@ -26,7 +30,7 @@ public class Kontobewegung {
|
|||
}
|
||||
|
||||
public void setDatum(Date datum) {
|
||||
this.datum = datum;
|
||||
this.datum = Calendar.getInstance().getTime();
|
||||
}
|
||||
|
||||
public Zahlungsart getZahlungsart() {
|
||||
|
@ -36,4 +40,23 @@ public class Kontobewegung {
|
|||
public void setZahlungsart(Zahlungsart zahlungsart) {
|
||||
this.zahlungsart = zahlungsart;
|
||||
}
|
||||
public long getBetrag() {
|
||||
return betrag;
|
||||
}
|
||||
|
||||
public void setBetrag(long betrag) {
|
||||
this.betrag = betrag;
|
||||
}
|
||||
|
||||
public String formatDate(Date datum) {
|
||||
String format=new SimpleDateFormat("dd/MM/yyyy HH:mm").format(datum);
|
||||
if(format!=null) {
|
||||
return format;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Betrag: "+betrag+"[Zahlungsart: "+zahlungsart+" Datum=" + datum + ", Auftraggeber=" + auftraggeber + "]";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
package de.hs_mannheim.informatik.bank.domain;
|
||||
|
||||
public enum Zahlungsart {
|
||||
EINZAHLUNG("einzahlung"),
|
||||
AUSZAHLUNG("auszahlung"),
|
||||
EINZAHLUNG("Einzahlung"),
|
||||
AUSZAHLUNG("Auszahlung"),
|
||||
UEBERWEISUNG("Ueberweisung");
|
||||
|
||||
private String zArt;
|
||||
|
|
|
@ -6,6 +6,7 @@ import java.util.List;
|
|||
|
||||
import de.hs_mannheim.informatik.bank.domain.Bank;
|
||||
import de.hs_mannheim.informatik.bank.domain.Konto;
|
||||
import de.hs_mannheim.informatik.bank.domain.Kontobewegung;
|
||||
|
||||
public class Banksystem {
|
||||
private Bank bank;
|
||||
|
@ -46,53 +47,32 @@ public class Banksystem {
|
|||
return bank.getName();
|
||||
}
|
||||
|
||||
public ArrayList<Long> kontoAuszug(int knum, long sum) {
|
||||
ArrayList<Long> zahlungen = null;
|
||||
if (knum != 0 && sum != 0) {
|
||||
zahlungen = bank.EinzahlungenAuszahlungen(knum, sum);
|
||||
if (zahlungen != null) {
|
||||
for (Long zahlung : zahlungen) {
|
||||
if (zahlung > 0) {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public String kontoAuszugToString(int knum) {
|
||||
ArrayList<Long> zahlungen = null;
|
||||
ArrayList<Kontobewegung> zahlungen = null;
|
||||
String back = "";
|
||||
if (knum != 0) {
|
||||
zahlungen = bank.EinzahlungenAuszahlungen(knum, 0);
|
||||
zahlungen = bank.getKontobewegung(knum);
|
||||
if (!zahlungen.isEmpty()) {
|
||||
for (Long zahlung : zahlungen) {
|
||||
if (zahlung > 0) {
|
||||
back+=zahlung.toString(zahlung)+ "\n";
|
||||
}
|
||||
for (Kontobewegung zahlung : zahlungen) {
|
||||
back+=zahlung.toString()+ "\n";
|
||||
|
||||
}return back;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
private String toString(long betrag) {
|
||||
if (betrag >= 0) {
|
||||
return "Auszahlung: " + betrag;
|
||||
}
|
||||
return "Einzahlung: " + betrag;
|
||||
}
|
||||
|
||||
// Geldbetrag einzahlen
|
||||
public long betragEinzahlen(int knum, long amount) {
|
||||
public long betragEinzahlen(int knum, long betrag) {
|
||||
long sum = 0;
|
||||
Collection<Konto> liste = bank.getKontenliste();
|
||||
if (knum != 0 && amount != 0) {
|
||||
if (knum != 0 && betrag != 0) {
|
||||
for (Konto k : liste) {
|
||||
if (k.getKontonummer() == knum) {
|
||||
sum = k.getStand();
|
||||
sum += amount;
|
||||
bank.EinzahlungenAuszahlungen(k.getKontonummer(), amount);
|
||||
sum += betrag;
|
||||
bank.EinzahlungenAuszahlungen(k.getKontonummer(), betrag);
|
||||
k.setStand(sum);
|
||||
return k.getStand();
|
||||
}
|
||||
|
@ -102,15 +82,15 @@ public class Banksystem {
|
|||
}
|
||||
|
||||
// Betrag auszahlen
|
||||
public long betragAuszahlen(int knum, long amount) {
|
||||
public long betragAuszahlen(int knum, long betrag) {
|
||||
long sum = 0;
|
||||
Collection<Konto> liste = bank.getKontenliste();
|
||||
if (knum != 0 && amount != 0) {
|
||||
if (knum != 0 && betrag != 0) {
|
||||
for (Konto k : liste) {
|
||||
if (k.getKontonummer() == knum) {
|
||||
sum = k.getStand();
|
||||
sum -= amount;
|
||||
bank.EinzahlungenAuszahlungen(k.getKontonummer(), -amount);
|
||||
sum -= betrag;
|
||||
bank.EinzahlungenAuszahlungen(k.getKontonummer(), -betrag);
|
||||
k.setStand(sum);
|
||||
return k.getStand();
|
||||
}
|
||||
|
|
|
@ -146,6 +146,7 @@ public class UI {
|
|||
}
|
||||
|
||||
private void kontoStand() {
|
||||
System.out.println("Kontostandabfrage:");
|
||||
System.out.println("Bitte die Kontonummer angeben:");
|
||||
int kontonummer = 0;
|
||||
try {
|
||||
|
@ -161,6 +162,19 @@ public class UI {
|
|||
|
||||
}
|
||||
private void kontoAuszug() {
|
||||
System.out.println("Kontoauszug:");
|
||||
System.out.println("Bitte die Kontonummer angeben:");
|
||||
int kontonummer = 0;
|
||||
try {
|
||||
kontonummer = Integer.parseInt(sc.nextLine());
|
||||
} catch (NumberFormatException e) {
|
||||
System.out.println("Inkorrekte Eingabe!");
|
||||
System.out.println("Es wurde kein Konto mit dieser Nummer gefunden.");
|
||||
}
|
||||
if(bs.kontoAuszugToString(kontonummer)!=null) {
|
||||
System.out.println("Folgend sehen");
|
||||
System.out.println(bs.kontoAuszugToString(kontonummer).toString());
|
||||
}System.out.println("Es konnte kein Kontoauszug gefunden werden.");
|
||||
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue