Einbau der Kontoauszühe in banksystem, bank und konto

main
informatikperson 2022-10-18 12:34:48 +02:00
parent 006d33d97f
commit d0e66523cb
6 changed files with 72 additions and 10 deletions

View File

@ -6,7 +6,7 @@ import de.hs_mannheim.informatik.bank.ui.UI;
public class Main { public class Main {
public static void main(String[] args) { public static void main(String[] args) {
Banksystem bs = new Banksystem("Spaßkasse Mannheim"); Banksystem bs = new Banksystem("Sparkasse Mannheim");
UI ui = new UI(bs); UI ui = new UI(bs);
} }

View File

@ -1,7 +1,9 @@
package de.hs_mannheim.informatik.bank.domain; package de.hs_mannheim.informatik.bank.domain;
import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
public class Bank { public class Bank {
private String name; private String name;
@ -22,8 +24,12 @@ public class Bank {
public Collection<Konto> getKontenliste() { public Collection<Konto> getKontenliste() {
return konten.values(); return konten.values();
} }
public Bank gibName(String iuashe) { public List<Kontoauszüge> getAuszüge(int kontonummer){
Bank banki = new Bank("banki"); Konto konto = konten.get(kontonummer);
return null; if (konto == null) {
return new ArrayList<>();
}
return konto.getAuszüge();
} }
} }

View File

@ -1,11 +1,16 @@
package de.hs_mannheim.informatik.bank.domain; package de.hs_mannheim.informatik.bank.domain;
import java.util.ArrayList;
import java.util.List;
public class Konto { public class Konto {
private static int kontozähler = 0; 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) { public Konto(String inhaber) {
nummer = 1000 + kontozähler++; nummer = 1000 + kontozähler++;
@ -27,10 +32,16 @@ public class Konto {
public long addKontostand(String inhaber, long zahl) { public long addKontostand(String inhaber, long zahl) {
stand = getKontostand() +zahl; stand = getKontostand() +zahl;
auszüge.add(new Kontoauszüge(stand, zahl, inhaber));
return stand; return stand;
} }
public long getKontostand() { public long getKontostand() {
return stand; return stand;
} }
public List<Kontoauszüge> getAuszüge() {
return auszüge;
}
} }

View File

@ -0,0 +1,21 @@
package de.hs_mannheim.informatik.bank.domain;
import java.util.Date;
public class Kontoauszüge {
private long kontostand;
private long betrag;
private Date date = new Date();
private String auftraggeber;
public Kontoauszüge(long kontozustand, long betrag, String auftraggeber) {
this.kontostand = kontostand;
this.betrag = betrag;
this.auftraggeber = auftraggeber;
}
@Override
public String toString() {
return "Datum: "+ date.toString()+ " , Kontostand: "+kontostand+ " , Betrag: " +(betrag<0? "-":"+") + betrag + " , "+ " Auftraggeber: " + auftraggeber;
}
}

View File

@ -1,9 +1,11 @@
package de.hs_mannheim.informatik.bank.facade; package de.hs_mannheim.informatik.bank.facade;
import java.util.Collection; import java.util.Collection;
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;
public class Banksystem { public class Banksystem {
private Bank bank; private Bank bank;
@ -107,4 +109,8 @@ public class Banksystem {
} }
public List<Kontoauszüge> getAuszüge(int kontonummer) {
return bank.getAuszüge(kontonummer);
}
} }

View File

@ -1,6 +1,9 @@
package de.hs_mannheim.informatik.bank.ui; package de.hs_mannheim.informatik.bank.ui;
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.facade.Banksystem; import de.hs_mannheim.informatik.bank.facade.Banksystem;
public class UI { public class UI {
@ -21,7 +24,8 @@ public class UI {
System.out.println("1 -> Konten anzeigen"); System.out.println("1 -> Konten anzeigen");
System.out.println("2 -> Konto anlegen"); System.out.println("2 -> Konto anlegen");
// System.out.println("3 -> Auf bestehendes Konto einzahlen oder auszahlen"); // System.out.println("3 -> Auf bestehendes Konto einzahlen oder auszahlen");
System.out.println("4 -> Auf bestehendes Konto einzahlen/auszahlen"); System.out.println("3 -> Auf bestehendes Konto einzahlen/auszahlen");
System.out.println("4 -> Kontoauszüge");
System.out.println("9 -> Beenden"); System.out.println("9 -> Beenden");
System.out.println(); System.out.println();
@ -36,10 +40,10 @@ public class UI {
case 2: case 2:
kontoAnlegen(); kontoAnlegen();
break; break;
// case 3:
// kontoAktionen();
// break;
case 4: case 4:
kontoAuszugAnzeigen();
break;
case 3:
kontoBewegungen(); kontoBewegungen();
break; break;
case 9: case 9:
@ -125,7 +129,7 @@ public class UI {
long input = Long.parseLong(sc.nextLine()); long input = Long.parseLong(sc.nextLine());
System.out.println(); System.out.println();
if (input < 0) { if (input < 0) {
System.out.println("Sie haben können nichts unter 0 auszahlen"); System.out.println("Sie können nichts unter 0 auszahlen");
kontoAuszahlen(); kontoAuszahlen();
} }
return -input; return -input;
@ -144,7 +148,7 @@ public class UI {
private void kontenAnzeigen() { private void kontenAnzeigen() {
String[] konten = bs.getKontenliste(); String[] konten = bs.getKontenliste();
if (konten.length > 0) { if (konten.length > 0) {
System.out.println("Folgende Konten sind aktuell verfügbar:"); System.out.println("Folgende Konten sind aktuell verfügbar:");
for (String s : konten) { for (String s : konten) {
System.out.println(s); System.out.println(s);
} }
@ -160,6 +164,20 @@ public class UI {
int kontonummer = bs.kontoAnlegen(name); int kontonummer = bs.kontoAnlegen(name);
System.out.println("Konto mit der Nummer " + kontonummer + " neu angelegt."); System.out.println("Konto mit der Nummer " + kontonummer + " neu angelegt.");
} }
public void kontoAuszugAnzeigen() {
System.out.print("Kontonummer: ");
System.out.println();
int kontonummer = Integer.parseInt(sc.nextLine());
if (!bs.checkForInstance(kontonummer)) {
System.out.println("Kein Konto vorhanden");
return;
}
List <Kontoauszüge> auszüge = bs.getAuszüge(kontonummer);
for(Kontoauszüge auszug : auszüge) {
System.out.println(auszug);
}
}
// private void kontoAktionen() { // private void kontoAktionen() {
// System.out.println("Konto über Namen auffüllen? -> 1"); // System.out.println("Konto über Namen auffüllen? -> 1");
// System.out.println("Konto über Kontonummer aufladen? -> 2"); // System.out.println("Konto über Kontonummer aufladen? -> 2");