diff --git a/Bank-Beispiel/.project b/Bank-Beispiel/.project index 49c2c92..491be4b 100644 --- a/Bank-Beispiel/.project +++ b/Bank-Beispiel/.project @@ -1,6 +1,6 @@ - Bank-Beispiel + Bank-Beispiel_MEINS diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Bank.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Bank.java index 3decef8..c1e5650 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Bank.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Bank.java @@ -23,6 +23,10 @@ public class Bank implements Serializable { public Collection getKontenliste() { return konten.values(); } + + public Konto findeKonto(int kontonummer) { + return konten.get(kontonummer); + } public void einzahlen(long betrag, int kontonummer) { if (konten.containsKey(kontonummer)) { diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Girokonto.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Girokonto.java new file mode 100644 index 0000000..7937363 --- /dev/null +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Girokonto.java @@ -0,0 +1,13 @@ +package de.hs_mannheim.informatik.bank.domain; + +public class Girokonto extends Konto { + + public Girokonto(String inhaber) { + super(inhaber); + + } + + public boolean überweisen(long betrag, Girokonto ziel) { + + } +} diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/Banksystem.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/Banksystem.java index 09e62a8..ffd79a5 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/Banksystem.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/Banksystem.java @@ -3,6 +3,7 @@ package de.hs_mannheim.informatik.bank.facade; import java.util.Collection; import de.hs_mannheim.informatik.bank.domain.Bank; +import de.hs_mannheim.informatik.bank.domain.Girokonto; import de.hs_mannheim.informatik.bank.domain.Konto; public class Banksystem { @@ -12,8 +13,14 @@ public class Banksystem { 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); + bank.addKonto(k); return k.getKontonummer(); @@ -42,7 +49,7 @@ public class Banksystem { return liste; } - + public void kontoauszügeZeigen(int kontonummer) { bank.kontoauszügeZeigen(kontonummer); } @@ -50,4 +57,14 @@ public class Banksystem { public String getBankname() { return bank.getName(); } + + public boolean überweisen(int kontonummer, int empfänger, long betrag, String verwendungszweck) { + Konto start = bank.findeKonto(kontonummer); + Konto ziel = bank.findeKonto(empfänger); + + if(start instanceof Girokonto && ziel instanceof Girokonto) { + Girokonto.überweisen(betrag, ziel); + } + return false; + } } diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/ui/UI.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/ui/UI.java index 314661b..6e2798a 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/ui/UI.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/ui/UI.java @@ -26,6 +26,7 @@ public class UI { System.out.println("4 -> Geld auszahlen"); System.out.println("5 -> Kontostand anzeigen"); System.out.println("6 -> Kontoauszüge zeigen"); + System.out.println("7 -> Überweisung tätigen"); System.out.println("9 -> Beenden"); System.out.println(); @@ -52,6 +53,9 @@ public class UI { case 6: kontoauszügeZeigen(); break; + case 7: + überweisen(); + break; case 9: break mainloop; } @@ -61,6 +65,24 @@ public class UI { } // hauptmenü + private void überweisen() { + int kontonummer; + int empfänger; + long betrag; + String verwendungszweck; + + System.out.println("Kontonummer eingeben: "); + kontonummer = Integer.parseInt(sc.nextLine()); + System.out.println("Kontonummer des Empfängers eingeben: "); + empfänger = Integer.parseInt(sc.nextLine()); + System.out.println("Betrag eingeben: "); + betrag = Integer.parseInt(sc.nextLine()); + System.out.println("Verwendungszweck eingeben: "); + verwendungszweck = sc.nextLine(); + + bs.überweisen(kontonummer, empfänger, betrag, verwendungszweck); + } + private void kontenAnzeigen() { String[] konten = bs.getKontenliste(); if (konten.length > 0) { @@ -76,8 +98,11 @@ public class UI { private void kontoAnlegen() { System.out.println("Bitte den Namen des Kontoinhabers angeben: "); String name = sc.nextLine(); + + System.out.println("Möchten Sie ein Sparkonto oder Girokonto anlegen?"); + 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."); }