kontobewegungen

main
informatikperson 2022-10-25 13:00:03 +02:00
parent 834487d0cd
commit 085723e988
7 changed files with 73 additions and 30 deletions

View File

@ -25,7 +25,7 @@ public class Bank implements Serializable{
public Collection<Konto> getKontenliste() { public Collection<Konto> getKontenliste() {
return konten.values(); return konten.values();
} }
public List<Kontoauszüge> getAuszüge(int kontonummer){ public List<Kontobewegungen> getAuszüge(int kontonummer){
Konto konto = konten.get(kontonummer); Konto konto = konten.get(kontonummer);
if (konto == null) { if (konto == null) {
return new ArrayList<>(); return new ArrayList<>();

View File

@ -0,0 +1,25 @@
package de.hs_mannheim.informatik.bank.domain;
import java.io.Serializable;
public class Girokonto extends Konto implements Serializable{
public Girokonto(String inhaber, int kontozähler) {
super(inhaber, kontozähler);
}
public boolean Überweise(Girokonto ziel, long betrag, String zweck) {
if (super.getKontostand() - betrag >= 0) {
this.auszahlen(betrag, zweck, "Ãœberweisungsausgang", super.getInhaber());
ziel.einzahlen(betrag, zweck, "Ãœberweisungseingang", super.getInhaber());
return true;
}
return false;
}
@Override
public String toString() {
return "Giro-" + super.toString();
}
}

View File

@ -2,47 +2,65 @@ package de.hs_mannheim.informatik.bank.domain;
import java.io.Serializable; import java.io.Serializable;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List;
public class Konto implements Serializable { public class Konto implements Serializable {
private static int kontozähler = 0;
private int nummer; private int nummer;
private long stand = 0; private long stand = 0;
private String inhaber; private String inhaber;
private ArrayList<Kontoauszüge> auszüge = new ArrayList<>();
public Konto(String inhaber) { private ArrayList<Kontobewegungen> kontobewegungen;
nummer = 1000 + kontozähler++;
public Konto(String inhaber, int kontozähler) {
nummer = 1000 + kontozähler;
this.inhaber = inhaber; this.inhaber = inhaber;
this.kontobewegungen = new ArrayList<>();
} }
public int getKontonummer() { public int getKontonummer() {
return nummer; return nummer;
} }
public String getKontoinhaber() {
return inhaber;
}
@Override @Override
public String toString() { public String toString() {
String ausgabe ="Konto [nummer=" + nummer + ", inhaber=" + inhaber + ", stand=" +stand + "]"; return "Konto [nummer=" + nummer + ", inhaber=" + inhaber + " kontostand="+stand+"]";
return ausgabe ;
} }
public long addKontostand(String inhaber, long zahl) { public String getInhaber() {
stand = getKontostand() +zahl; return inhaber;
auszüge.add(new Kontoauszüge(stand, zahl, inhaber));
return stand;
} }
public long getKontostand() { public long getKontostand() {
return stand; return stand;
} }
public List<Kontoauszüge> getAuszüge() { public void einzahlen(long betrag, String zweck, String art, String auftraggeber) {
return auszüge; stand += betrag;
kontobewegungen.add(new Kontobewegungen(betrag, zweck, art, auftraggeber));
} }
public boolean auszahlen(long betrag, String zweck, String art, String auftraggeber) {
if (stand - betrag >= 0) {
stand -= betrag;
kontobewegungen.add(new Kontobewegungen(betrag * -1, zweck, art, auftraggeber));
return true;
}
return false;
}
public String[] getKontobewegungen() {
String[] auflistung = new String[kontobewegungen.size()];
int i = 0;
for (Kontobewegungen kb : kontobewegungen) {
auflistung[i++] = kb.toString();
}
return auflistung;
}
} }

View File

@ -3,14 +3,14 @@ package de.hs_mannheim.informatik.bank.domain;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
public class Kontoauszüge implements Serializable { public class Kontobewegungen implements Serializable {
private long kontostand; private long kontostand;
private long betrag; private long betrag;
private Date date = new Date(); private Date date = new Date();
private String auftraggeber; private String auftraggeber;
public Kontoauszüge(long kontozustand, long betrag, String auftraggeber) { public Kontobewegungen(long kontozustand, long betrag, String auftraggeber) {
this.kontostand = kontostand; this.kontostand = kontostand;
this.betrag = betrag; this.betrag = betrag;
this.auftraggeber = auftraggeber; this.auftraggeber = auftraggeber;

View File

@ -5,7 +5,7 @@ import java.util.List;
import de.hs_mannheim.informatik.bank.domain.Bank; import de.hs_mannheim.informatik.bank.domain.Bank;
import de.hs_mannheim.informatik.bank.domain.Konto; import de.hs_mannheim.informatik.bank.domain.Konto;
import de.hs_mannheim.informatik.bank.domain.Kontoauszüge; import de.hs_mannheim.informatik.bank.domain.Kontobewegungen;
import infrastruktur.Persistenz; import infrastruktur.Persistenz;
public class Banksystem { public class Banksystem {
@ -117,7 +117,7 @@ public class Banksystem {
} }
public List<Kontoauszüge> getAuszüge(int kontonummer) { public List<Kontobewegungen> getAuszüge(int kontonummer) {
return bank.getAuszüge(kontonummer); return bank.getAuszüge(kontonummer);
} }

View File

@ -3,7 +3,7 @@ package de.hs_mannheim.informatik.bank.ui;
import java.util.List; import java.util.List;
import java.util.Scanner; import java.util.Scanner;
import de.hs_mannheim.informatik.bank.domain.Kontoauszüge; import de.hs_mannheim.informatik.bank.domain.Kontobewegungen;
import de.hs_mannheim.informatik.bank.facade.Banksystem; import de.hs_mannheim.informatik.bank.facade.Banksystem;
public class UI { public class UI {
@ -172,9 +172,9 @@ public class UI {
System.out.println("Kein Konto vorhanden"); System.out.println("Kein Konto vorhanden");
return; return;
} }
List <Kontoauszüge> auszüge = bs.getAuszüge(kontonummer); List <Kontobewegungen> auszüge = bs.getAuszüge(kontonummer);
for(Kontoauszüge auszug : auszüge) { for(Kontobewegungen auszug : auszüge) {
System.out.println(auszug); System.out.println(auszug);
} }
} }