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 static void main(String[] args) {
Banksystem bs = new Banksystem("Spaßkasse Mannheim");
Banksystem bs = new Banksystem("Sparkasse Mannheim");
UI ui = new UI(bs);
}

View File

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

View File

@ -1,5 +1,8 @@
package de.hs_mannheim.informatik.bank.domain;
import java.util.ArrayList;
import java.util.List;
public class Konto {
private static int kontozähler = 0;
@ -7,6 +10,8 @@ public class Konto {
private long stand = 0;
private String inhaber;
private ArrayList<Kontoauszüge> auszüge = new ArrayList<>();
public Konto(String inhaber) {
nummer = 1000 + kontozähler++;
this.inhaber = inhaber;
@ -27,10 +32,16 @@ public class Konto {
public long addKontostand(String inhaber, long zahl) {
stand = getKontostand() +zahl;
auszüge.add(new Kontoauszüge(stand, zahl, inhaber));
return stand;
}
public long getKontostand() {
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;
import java.util.Collection;
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.Kontoauszüge;
public class Banksystem {
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;
import java.util.List;
import java.util.Scanner;
import de.hs_mannheim.informatik.bank.domain.Kontoauszüge;
import de.hs_mannheim.informatik.bank.facade.Banksystem;
public class UI {
@ -21,7 +24,8 @@ public class UI {
System.out.println("1 -> Konten anzeigen");
System.out.println("2 -> Konto anlegen");
// 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();
@ -36,10 +40,10 @@ public class UI {
case 2:
kontoAnlegen();
break;
// case 3:
// kontoAktionen();
// break;
case 4:
kontoAuszugAnzeigen();
break;
case 3:
kontoBewegungen();
break;
case 9:
@ -125,7 +129,7 @@ public class UI {
long input = Long.parseLong(sc.nextLine());
System.out.println();
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();
}
return -input;
@ -144,7 +148,7 @@ public class UI {
private void kontenAnzeigen() {
String[] konten = bs.getKontenliste();
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) {
System.out.println(s);
}
@ -160,6 +164,20 @@ public class UI {
int kontonummer = bs.kontoAnlegen(name);
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() {
// System.out.println("Konto über Namen auffüllen? -> 1");
// System.out.println("Konto über Kontonummer aufladen? -> 2");