Girokonto Änderungen
parent
58b5c8aa12
commit
8be5af5926
Binary file not shown.
|
@ -5,7 +5,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) throws Exception {
|
||||||
Banksystem bs = new Banksystem("Spaßkasse Mannheim");
|
Banksystem bs = new Banksystem("Spaßkasse Mannheim");
|
||||||
UI ui = new UI(bs);
|
UI ui = new UI(bs);
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,7 +30,7 @@ public class Bank implements Serializable {
|
||||||
|
|
||||||
public void einzahlen(long betrag, int kontonummer) {
|
public void einzahlen(long betrag, int kontonummer) {
|
||||||
if (konten.containsKey(kontonummer)) {
|
if (konten.containsKey(kontonummer)) {
|
||||||
konten.get(kontonummer).einzahlen(betrag);
|
konten.get(kontonummer).einzahlen(betrag, "eingezahlt");
|
||||||
System.out.println("Betrag " + betrag + " auf Konto " + kontonummer + " eingezahlt");
|
System.out.println("Betrag " + betrag + " auf Konto " + kontonummer + " eingezahlt");
|
||||||
System.out.println("Neuer Kontostand: " + konten.get(kontonummer).getKontostand());
|
System.out.println("Neuer Kontostand: " + konten.get(kontonummer).getKontostand());
|
||||||
} else
|
} else
|
||||||
|
@ -39,7 +39,7 @@ public class Bank implements Serializable {
|
||||||
|
|
||||||
public void auszahlen(long betrag, int kontonummer) {
|
public void auszahlen(long betrag, int kontonummer) {
|
||||||
if (konten.containsKey(kontonummer)) {
|
if (konten.containsKey(kontonummer)) {
|
||||||
konten.get(kontonummer).auszahlen(betrag);
|
konten.get(kontonummer).auszahlen(betrag, "ausgezahlt");
|
||||||
System.out.println("Betrag " + betrag + " auf Konto " + kontonummer + " eingezahlt");
|
System.out.println("Betrag " + betrag + " auf Konto " + kontonummer + " eingezahlt");
|
||||||
} else
|
} else
|
||||||
System.out.println("Konto nicht vorhanden");
|
System.out.println("Konto nicht vorhanden");
|
||||||
|
|
|
@ -7,7 +7,12 @@ public class Girokonto extends Konto {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean überweisen(long betrag, Girokonto ziel) {
|
public boolean überweisen(long betrag, Girokonto start, Girokonto ziel, String verwendungszweck) {
|
||||||
|
if (betrag >= start.getKontostand()) {
|
||||||
|
start.einzahlen(betrag, "gesendet an " + ziel.getKontonummer());
|
||||||
|
ziel.einzahlen(betrag, "empfangen von " + start.getKontonummer());
|
||||||
|
return true;
|
||||||
|
} else
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
package de.hs_mannheim.informatik.bank.domain;
|
package de.hs_mannheim.informatik.bank.domain;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
public class Konto {
|
public class Konto implements Serializable {
|
||||||
private static int kontozähler = 0;
|
private static int kontozähler = 0;
|
||||||
|
|
||||||
private int nummer;
|
private int nummer;
|
||||||
|
@ -15,19 +16,27 @@ public class Konto {
|
||||||
this.inhaber = inhaber;
|
this.inhaber = inhaber;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void ladeKontoZähler(int kontoZähler) {
|
||||||
|
kontozähler = kontoZähler;
|
||||||
|
}
|
||||||
|
|
||||||
public int getKontonummer() {
|
public int getKontonummer() {
|
||||||
return nummer;
|
return nummer;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void einzahlen(long betrag) {
|
public static int getKontoZähler() {
|
||||||
stand += betrag;
|
return kontozähler;
|
||||||
auszüge.add(new Kontobewegung(betrag, inhaber, "eingezahlt"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void auszahlen(long betrag) {
|
public void einzahlen(long betrag, String verwendungszweck) {
|
||||||
|
stand += betrag;
|
||||||
|
auszüge.add(new Kontobewegung(betrag, inhaber, verwendungszweck));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void auszahlen(long betrag, String verwendungszweck) {
|
||||||
if (betrag <= stand) {
|
if (betrag <= stand) {
|
||||||
stand -= betrag;
|
stand -= betrag;
|
||||||
auszüge.add(new Kontobewegung(betrag, inhaber, "abgehoben"));
|
auszüge.add(new Kontobewegung(betrag, inhaber, verwendungszweck));
|
||||||
} else
|
} else
|
||||||
System.out.println("Kontostand nicht aureichend");
|
System.out.println("Kontostand nicht aureichend");
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
package de.hs_mannheim.informatik.bank.domain;
|
package de.hs_mannheim.informatik.bank.domain;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
public class Kontobewegung {
|
public class Kontobewegung implements Serializable {
|
||||||
private long betrag;
|
private long betrag;
|
||||||
private String inhaber;
|
private String inhaber;
|
||||||
private LocalDateTime datum;
|
private LocalDateTime datum;
|
||||||
|
|
|
@ -5,12 +5,17 @@ import java.util.Collection;
|
||||||
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.Girokonto;
|
||||||
import de.hs_mannheim.informatik.bank.domain.Konto;
|
import de.hs_mannheim.informatik.bank.domain.Konto;
|
||||||
|
import de.mannheim.informatik.bank.perstance.Datenbank;
|
||||||
|
|
||||||
public class Banksystem {
|
public class Banksystem {
|
||||||
private Bank bank;
|
private Bank bank;
|
||||||
|
|
||||||
public Banksystem(String bankname) {
|
public Banksystem(String bankname) throws Exception {
|
||||||
this.bank = new Bank(bankname);
|
if (Datenbank.sindDateGespeicher()) {
|
||||||
|
this.bank = (Bank) Datenbank.laden();
|
||||||
|
Konto.ladeKontoZähler(Datenbank.ladeKontoZähler());
|
||||||
|
} else
|
||||||
|
this.bank = new Bank(bankname);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int kontoAnlegen(String name, int auswahl) {
|
public int kontoAnlegen(String name, int auswahl) {
|
||||||
|
@ -19,7 +24,7 @@ public class Banksystem {
|
||||||
if (auswahl == 1)
|
if (auswahl == 1)
|
||||||
k = new Konto(name);
|
k = new Konto(name);
|
||||||
else
|
else
|
||||||
k = new Girokonto(name);
|
k = new Girokonto(name); // Hier eigentlich Girokonto
|
||||||
|
|
||||||
bank.addKonto(k);
|
bank.addKonto(k);
|
||||||
|
|
||||||
|
@ -58,13 +63,19 @@ public class Banksystem {
|
||||||
return bank.getName();
|
return bank.getName();
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean überweisen(int kontonummer, int empfänger, long betrag, String verwendungszweck) {
|
public boolean überweisen(int sender, int empfänger, long betrag, String verwendungszweck) {
|
||||||
Konto start = bank.findeKonto(kontonummer);
|
Konto start = bank.findeKonto(sender);
|
||||||
Konto ziel = bank.findeKonto(empfänger);
|
Konto ziel = bank.findeKonto(empfänger);
|
||||||
|
|
||||||
if(start instanceof Girokonto && ziel instanceof Girokonto) {
|
if(start instanceof Girokonto && ziel instanceof Girokonto) {
|
||||||
Girokonto.überweisen(betrag, ziel);
|
Girokonto.überweisen(betrag, (Girokonto)start, (Girokonto)ziel, verwendungszweck);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void speichern() throws Exception {
|
||||||
|
Datenbank.speichern(bank);
|
||||||
|
Datenbank.speicherZähler(Konto.getKontoZähler());
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,15 +2,18 @@ package de.hs_mannheim.informatik.bank.ui;
|
||||||
|
|
||||||
import java.util.Scanner;
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
import de.hs_mannheim.informatik.bank.domain.Bank;
|
||||||
import de.hs_mannheim.informatik.bank.facade.Banksystem;
|
import de.hs_mannheim.informatik.bank.facade.Banksystem;
|
||||||
|
import de.mannheim.informatik.bank.perstance.Datenbank;
|
||||||
|
|
||||||
public class UI {
|
public class UI {
|
||||||
private Banksystem bs;
|
private Banksystem bs;
|
||||||
Scanner sc = new Scanner(System.in);
|
Scanner sc = new Scanner(System.in);
|
||||||
|
|
||||||
public UI(Banksystem bs) {
|
public UI(Banksystem bs) throws Exception {
|
||||||
this.bs = bs;
|
this.bs = bs;
|
||||||
hauptmenu();
|
hauptmenu();
|
||||||
|
bs.speichern();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void hauptmenu() {
|
private void hauptmenu() {
|
||||||
|
|
|
@ -1,25 +1,45 @@
|
||||||
//package de.mannheim.informatik.bank.perstance;
|
package de.mannheim.informatik.bank.perstance;
|
||||||
//
|
|
||||||
//import de.hs_mannheim.informatik.bank.domain.Bank;
|
import de.hs_mannheim.informatik.bank.domain.Bank;
|
||||||
//
|
|
||||||
//import java.io.*;
|
import java.io.*;
|
||||||
//
|
|
||||||
//public class Datenbank {
|
public class Datenbank {
|
||||||
// File f = new File("Bank.ser");
|
private static final String saveBank = "bank.ser";
|
||||||
//
|
private static final String saveZähler = "zähler.ser";
|
||||||
//
|
|
||||||
// public void speichern(Bank bank) throws FileNotFoundException, IOException {
|
public static boolean sindDateGespeicher() {
|
||||||
// ObjectOutputStream fileOut;
|
return new File(saveBank).exists();
|
||||||
// fileOut = new ObjectOutputStream(new FileOutputStream(f));
|
}
|
||||||
// fileOut.writeObject(bank);
|
|
||||||
// }
|
public static void speichern(Bank bank) throws Exception {
|
||||||
//
|
ObjectOutputStream fileOut;
|
||||||
// public void laden(Bank bank) throws FileNotFoundException, IOException {
|
fileOut = new ObjectOutputStream(new FileOutputStream(saveBank));
|
||||||
// ObjectInputStream fileIn;
|
fileOut.writeObject(bank);
|
||||||
// fileIn = new ObjectInputStream(new FileInputStream(f));
|
fileOut.close();
|
||||||
//
|
}
|
||||||
//
|
|
||||||
//
|
public static void speicherZähler(int kontoZähler) throws Exception {
|
||||||
//
|
ObjectOutputStream fileOut;
|
||||||
// }
|
fileOut = new ObjectOutputStream(new FileOutputStream(saveZähler));
|
||||||
//}
|
fileOut.writeInt(kontoZähler);
|
||||||
|
fileOut.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Object laden() throws Exception {
|
||||||
|
ObjectInputStream fileIn;
|
||||||
|
fileIn = new ObjectInputStream(new FileInputStream(saveBank));
|
||||||
|
Object bank = fileIn.readObject();
|
||||||
|
fileIn.close();
|
||||||
|
|
||||||
|
return bank;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int ladeKontoZähler() throws Exception {
|
||||||
|
ObjectInputStream fileIn;
|
||||||
|
fileIn = new ObjectInputStream(new FileInputStream(saveZähler));
|
||||||
|
int kontoZähler = fileIn.readInt();
|
||||||
|
fileIn.close();
|
||||||
|
return kontoZähler;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Binary file not shown.
Loading…
Reference in New Issue