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 static final long serialVersionUID = 1L;
private Konto k; private Konto k;
private String amEndeDerAuzügeEifügen = ",";
private String name; private String name;
private HashMap<Integer, Konto> konten = new HashMap<>(); private HashMap<Integer, Konto> konten = new HashMap<>();

View File

@ -6,4 +6,13 @@ public class Girokonto extends Konto{
super(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 int nummer;
private long stand = 0; protected long stand = 0;
private String inhaber; private String inhaber;
private ArrayList<Kontobewegungen> kontobewegungen; private ArrayList<Kontobewegungen> kontobewegungen;
public Konto(String inhaber) { public Konto(String inhaber) {

View File

@ -10,7 +10,10 @@ import java.util.Collection;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map.Entry; 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.Bank;
import de.hs_mannheim.informatik.bank.domain.Girokonto;
import de.hs_mannheim.informatik.bank.domain.Konto; import de.hs_mannheim.informatik.bank.domain.Konto;
import persistence.Persistenc; import persistence.Persistenc;
@ -18,14 +21,21 @@ public class Banksystem {
private Bank bank; private Bank bank;
private Konto konto; private Konto konto;
private Persistenc per = new Persistenc(); private Persistenc per = new Persistenc();
public Banksystem(String bankname) { public Banksystem(String bankname) {
this.bank = new Bank(bankname); this.bank = new Bank(bankname);
} }
public int kontoAnlegen(String name) { public int kontoAnlegen(String name, int auswahl) {
Konto k = new Konto(name); Konto k;
bank.addKonto(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(); return k.getKontonummer();
} }
@ -61,8 +71,6 @@ public class Banksystem {
return konto.geldAbheben(geldAbheben); return konto.geldAbheben(geldAbheben);
} }
public void saveKonten() throws Exception { public void saveKonten() throws Exception {
per.saveKontos(bank); per.saveKontos(bank);
@ -77,5 +85,14 @@ public class Banksystem {
return konto.getKontoBewegungen(); 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.Iterator;
import java.util.Scanner; import java.util.Scanner;
import javax.lang.model.element.NestingKind;
import de.hs_mannheim.informatik.bank.facade.Banksystem; import de.hs_mannheim.informatik.bank.facade.Banksystem;
public class UI { public class UI {
@ -29,6 +31,7 @@ public class UI {
System.out.println("5 -> Geld abheben"); System.out.println("5 -> Geld abheben");
System.out.println("6 -> Kontoauszüge ausgeben"); System.out.println("6 -> Kontoauszüge ausgeben");
System.out.println("7 -> Konten laden"); System.out.println("7 -> Konten laden");
System.out.println("8 -> überweisungen");
System.out.println("9 -> Beenden"); System.out.println("9 -> Beenden");
System.out.println(); System.out.println();
@ -44,6 +47,7 @@ public class UI {
case 5: geldAbheben(); break; case 5: geldAbheben(); break;
case 6: kontoAuszügeAnsgeben(); break; case 6: kontoAuszügeAnsgeben(); break;
case 7: kontenLaden(); break; case 7: kontenLaden(); break;
case 8: überweisungen(); break;
case 9: break mainloop; case 9: break mainloop;
} }
try { try {
@ -57,6 +61,18 @@ public class UI {
} // hauptmenü } // 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 { private void kontenLaden() throws Exception {
bs.loadKonten(); bs.loadKonten();
@ -112,7 +128,10 @@ public class UI {
System.out.println("Bitte den Namen des Kontoinhabers angeben: "); System.out.println("Bitte den Namen des Kontoinhabers angeben: ");
String name = sc.nextLine(); String name = sc.nextLine();
int kontonummer = bs.kontoAnlegen(name); System.out.println("Sparkonto (1) oder oder Giro(2)");
int auswahl = Integer.parseInt(sc.nextLine());
int kontonummer = bs.kontoAnlegen(name, auswahl);
System.out.println("Konto mit der Nummer " + kontonummer + " neu angelegt."); System.out.println("Konto mit der Nummer " + kontonummer + " neu angelegt.");
} }