function a finished i think further testing is needed

main
WummerMIB 2022-10-18 17:15:26 +02:00
parent 8cb1191b25
commit 6a27e250c0
5 changed files with 63 additions and 19 deletions

View File

@ -25,7 +25,6 @@ public class Bank implements Serializable {
*/
private static final long serialVersionUID = 1L;
private Konto k;
private String amEndeDerAuzügeEifügen = ",";
private String name;
private HashMap<Integer, Konto> konten = new HashMap<>();

View File

@ -5,5 +5,14 @@ public class Girokonto extends Konto{
public Girokonto(String inhaber) {
super(inhaber);
}
public boolean überweisen(double betrag, Girokonto ziel) {
if(super.getStand() - betrag >=0) {
this.geldEinzahlen((long)betrag);
ziel.geldAbheben((long)betrag);
return true;
}
return false;
}
}

View File

@ -19,7 +19,7 @@ public class Konto implements Serializable {
private int nummer;
private long stand = 0;
protected long stand = 0;
private String inhaber;
private ArrayList<Kontobewegungen> kontobewegungen;
public Konto(String inhaber) {

View File

@ -10,7 +10,10 @@ import java.util.Collection;
import java.util.HashMap;
import java.util.Map.Entry;
import javax.xml.stream.events.StartDocument;
import de.hs_mannheim.informatik.bank.domain.Bank;
import de.hs_mannheim.informatik.bank.domain.Girokonto;
import de.hs_mannheim.informatik.bank.domain.Konto;
import persistence.Persistenc;
@ -18,29 +21,36 @@ public class Banksystem {
private Bank bank;
private Konto konto;
private Persistenc per = new Persistenc();
public Banksystem(String bankname) {
this.bank = new Bank(bankname);
}
public int kontoAnlegen(String name) {
Konto k = new Konto(name);
public int kontoAnlegen(String name, int auswahl) {
Konto k;
if (auswahl == 1)
k = new Konto(name);
else
k = new Girokonto(name);
// ob es ein giro ist
// System.out.println(k instanceof Girokonto);
bank.addKonto(k);
return k.getKontonummer();
}
public String[] getKontenliste() {
Collection<Konto> konten = bank.getKontenliste();
String[] liste = new String[konten.size()];
int i = 0;
for (Konto k : konten) {
liste[i++] = k.toString();
liste[i++] = k.toString();
}
return liste;
}
public String getBankname() {
return bank.getName();
}
@ -48,7 +58,7 @@ public class Banksystem {
public long geldEinzahlen(int kontoNummer, long geldBetrag) {
Konto konto = bank.getKonto(kontoNummer);
konto.geldEinzahlen(geldBetrag);
return konto.getStand();
return konto.getStand();
}
public long sucheNachKontoStand(int kontNumToGetKontoStand) {
@ -61,13 +71,11 @@ public class Banksystem {
return konto.geldAbheben(geldAbheben);
}
public void saveKonten() throws Exception {
per.saveKontos(bank);
}
public void loadKonten() throws Exception {
bank = per.load();
}
@ -76,6 +84,15 @@ public class Banksystem {
Konto konto = bank.getKonto(kontoNummer);
return konto.getKontoBewegungen();
}
public boolean überweisen(int kontoNummer, int zielKontoNummer, double betrag , String verwendung) {
Konto start = bank.getKonto(kontoNummer);
Konto zielKonto = bank.getKonto(zielKontoNummer);
if(start instanceof Girokonto) {
((Girokonto)start).überweisen(betrag,(Girokonto)start);
return true;
}
return false;
}
}

View File

@ -3,6 +3,8 @@ package de.hs_mannheim.informatik.bank.ui;
import java.util.Iterator;
import java.util.Scanner;
import javax.lang.model.element.NestingKind;
import de.hs_mannheim.informatik.bank.facade.Banksystem;
public class UI {
@ -29,6 +31,7 @@ public class UI {
System.out.println("5 -> Geld abheben");
System.out.println("6 -> Kontoauszüge ausgeben");
System.out.println("7 -> Konten laden");
System.out.println("8 -> überweisungen");
System.out.println("9 -> Beenden");
System.out.println();
@ -44,6 +47,7 @@ public class UI {
case 5: geldAbheben(); break;
case 6: kontoAuszügeAnsgeben(); break;
case 7: kontenLaden(); break;
case 8: überweisungen(); break;
case 9: break mainloop;
}
try {
@ -57,6 +61,18 @@ public class UI {
} // hauptmenü
}
private void überweisungen() {
System.out.println("Geben Sie ihre Kontonummer ein");
int kontoNummer = Integer.parseInt(sc.nextLine());
System.out.println("Geben Sie das ZielKontonummer ein");
int zielKontoNummer = Integer.parseInt(sc.nextLine());
System.out.println("Geben sie denn Betrag ein");
double betrag = Double.parseDouble(sc.nextLine());
System.out.println("Geben sie denn verwendung ein");
String verwendung = sc.nextLine();
bs.überweisen(kontoNummer,zielKontoNummer,betrag,verwendung);
}
private void kontenLaden() throws Exception {
bs.loadKonten();
@ -111,8 +127,11 @@ public class UI {
private void kontoAnlegen() {
System.out.println("Bitte den Namen des Kontoinhabers angeben: ");
String name = sc.nextLine();
System.out.println("Sparkonto (1) oder oder Giro(2)");
int auswahl = Integer.parseInt(sc.nextLine());
int kontonummer = bs.kontoAnlegen(name);
int kontonummer = bs.kontoAnlegen(name, auswahl);
System.out.println("Konto mit der Nummer " + kontonummer + " neu angelegt.");
}