forked from hummel/Bank-System
Methoden zum Überweißen und auszahlen hinzugefügt,
neu Klasse Kontoauszug welcher die Auszüge speichert, neue Klasse Aktivität welche die einzelnen Aktivitäten darstellt welche dann in den Kontoausszug gespeichert wirdMeins
parent
03d0126de4
commit
607be738f4
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,38 @@
|
||||||
|
package de.hs_mannheim.informatik.bank.domain;
|
||||||
|
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.Calendar;
|
||||||
|
import java.util.GregorianCalendar;
|
||||||
|
|
||||||
|
public class Aktivität {
|
||||||
|
private String Datum;
|
||||||
|
private String Ort;
|
||||||
|
private int Empfänger;
|
||||||
|
private double Menge;
|
||||||
|
|
||||||
|
Aktivität(double Menge, String Ort){
|
||||||
|
Calendar calendar = new GregorianCalendar();
|
||||||
|
this.Datum=""+calendar.get(calendar.DAY_OF_MONTH)+"."+(calendar.get(calendar.MONTH)+1)+"."+calendar.get(calendar.YEAR);
|
||||||
|
this.Menge=Menge;
|
||||||
|
this.Ort=Ort;
|
||||||
|
}
|
||||||
|
Aktivität(double Menge, int Empfänger){
|
||||||
|
Calendar calendar = new GregorianCalendar();
|
||||||
|
this.Datum=""+calendar.get(calendar.DAY_OF_MONTH)+"."+(calendar.get(calendar.MONTH)+1)+"."+calendar.get(calendar.YEAR);
|
||||||
|
this.Menge=Menge;
|
||||||
|
this.Empfänger=Empfänger;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String Ausgabe() {
|
||||||
|
if(Ort==null)
|
||||||
|
if(Menge>0)
|
||||||
|
return "Am "+Datum+" wurden von Nummer: "+Empfänger+Menge+" überwiesen.";
|
||||||
|
else
|
||||||
|
return "Am "+Datum+" wurde an Nummer: "+Empfänger+Menge+" überwiesen.";
|
||||||
|
else
|
||||||
|
if(Menge>0)
|
||||||
|
return "Am "+Datum+" wurden "+ Menge+" Euro in "+Ort+" eingezahlt.";
|
||||||
|
else
|
||||||
|
return "Am "+Datum+" wurden "+ Menge+" Euro in "+Ort+" abgehoben.";
|
||||||
|
}
|
||||||
|
}
|
|
@ -29,6 +29,19 @@ public class Bank {
|
||||||
public long GeldEinzahlen(int Kontonummer,long Betrag) {
|
public long GeldEinzahlen(int Kontonummer,long Betrag) {
|
||||||
return konten.get(Kontonummer).Einzahlen(Betrag);
|
return konten.get(Kontonummer).Einzahlen(Betrag);
|
||||||
}
|
}
|
||||||
|
public long Überweißen(int Kontonummer,double Betrag) {
|
||||||
|
return konten.get(Kontonummer).neueÜberweisung(Betrag, Kontonummer);
|
||||||
|
}
|
||||||
|
public void kontoAuszugerstellen(int Kontonummer) {
|
||||||
|
konten.get(Kontonummer).kontoAuszugerstellen();
|
||||||
|
}
|
||||||
|
public void kontoÜberweisen(int Empfänger,int inhaber, long Menge) {
|
||||||
|
if(konten.get(inhaber).neueÜberweisung(Menge, Empfänger)>=0)
|
||||||
|
konten.get(Empfänger).Einzahlen(Menge);
|
||||||
|
|
||||||
|
}
|
||||||
|
public long abheben(int kontonummer,long Menge) {
|
||||||
|
return konten.get(kontonummer).abbuchen(Menge);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -6,10 +6,12 @@ public class Konto {
|
||||||
private int nummer;
|
private int nummer;
|
||||||
private long stand = 0;
|
private long stand = 0;
|
||||||
private String inhaber;
|
private String inhaber;
|
||||||
|
private Kontoauszug KA=new Kontoauszug();
|
||||||
|
|
||||||
public Konto(String inhaber) {
|
public Konto(String inhaber) {
|
||||||
nummer = 1000 + kontozähler++;
|
nummer = 1000 + kontozähler++;
|
||||||
this.inhaber = inhaber;
|
this.inhaber = inhaber;
|
||||||
|
//Kontoauszug KA=new Kontoauszug();
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getKontonummer() {
|
public int getKontonummer() {
|
||||||
|
@ -21,6 +23,8 @@ public class Konto {
|
||||||
return "Konto [nummer=" + nummer + ", inhaber=" + inhaber + "]";
|
return "Konto [nummer=" + nummer + ", inhaber=" + inhaber + "]";
|
||||||
}
|
}
|
||||||
public long Einzahlen(long Betrag) {
|
public long Einzahlen(long Betrag) {
|
||||||
|
KA.Hinzufügen(Betrag, "Mannheim");
|
||||||
|
|
||||||
if(Betrag>=0)
|
if(Betrag>=0)
|
||||||
this.stand+=Betrag;
|
this.stand+=Betrag;
|
||||||
return getStand();
|
return getStand();
|
||||||
|
@ -28,4 +32,24 @@ public class Konto {
|
||||||
public long getStand() {
|
public long getStand() {
|
||||||
return this.stand;
|
return this.stand;
|
||||||
}
|
}
|
||||||
|
public long neueÜberweisung(double Menge,int Empfänger) {
|
||||||
|
if(Menge<=stand) {
|
||||||
|
KA.Hinzufügen(Menge, Empfänger);
|
||||||
|
return stand;
|
||||||
|
}
|
||||||
|
System.out.println("Nicht genug Geld vorhanden");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
public void kontoAuszugerstellen() {
|
||||||
|
KA.Auszug();
|
||||||
|
}
|
||||||
|
public long abbuchen(long Menge) {
|
||||||
|
if(Menge<10000&&Menge<=stand) {
|
||||||
|
KA.Hinzufügen(Menge, "Mannheim");
|
||||||
|
stand-=Menge;
|
||||||
|
return stand;
|
||||||
|
}
|
||||||
|
System.out.println("zu hohe Menge, bitte begeben Sie sich zu Schalter dafür");
|
||||||
|
return stand;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,30 @@
|
||||||
|
package de.hs_mannheim.informatik.bank.domain;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
public class Kontoauszug {
|
||||||
|
private ArrayList <Aktivität> Historie=new ArrayList();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public void Hinzufügen(double Menge, int Empfänger) {
|
||||||
|
Aktivität neu=new Aktivität(Menge,Empfänger);
|
||||||
|
Historie.add(neu);
|
||||||
|
}
|
||||||
|
public void Hinzufügen(double Menge, String Ort) {
|
||||||
|
Aktivität neu=new Aktivität(Menge,Ort);
|
||||||
|
Historie.add(neu);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Auszug() {
|
||||||
|
if(Historie.size()>0)
|
||||||
|
for(int i=0;i<Historie.size();i++) {
|
||||||
|
System.out.println(Historie.get(i).Ausgabe());
|
||||||
|
}
|
||||||
|
//delete();
|
||||||
|
}
|
||||||
|
private void delete() {
|
||||||
|
Historie.clear();
|
||||||
|
}
|
||||||
|
}
|
|
@ -35,9 +35,18 @@ public class Banksystem {
|
||||||
return bank.getName();
|
return bank.getName();
|
||||||
}
|
}
|
||||||
public long Einzahlen(int Kontonummer,long Betrag) {
|
public long Einzahlen(int Kontonummer,long Betrag) {
|
||||||
return this.bank.GeldEinzahlen(Kontonummer, Betrag);
|
return bank.GeldEinzahlen(Kontonummer, Betrag);
|
||||||
}
|
}
|
||||||
public long getKontostand(int Kontonummer) {
|
public long getKontostand(int Kontonummer) {
|
||||||
return bank.getKontostand(Kontonummer);
|
return bank.getKontostand(Kontonummer);
|
||||||
}
|
}
|
||||||
|
public void kontoAuszugerstellen(int Kontonummer) {
|
||||||
|
bank.kontoAuszugerstellen(Kontonummer);
|
||||||
|
}
|
||||||
|
public long Abheben(int Kontonummer,long Menge) {
|
||||||
|
return bank.abheben(Kontonummer, Menge);
|
||||||
|
}
|
||||||
|
public void Überweisung(int Empfänger, int Sender,long Menge) {
|
||||||
|
bank.kontoÜberweisen(Empfänger, Sender, Menge);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,7 +24,10 @@ public class UI {
|
||||||
System.out.println("1 -> Konten anzeigen");
|
System.out.println("1 -> Konten anzeigen");
|
||||||
System.out.println("2 -> Konto anlegen");
|
System.out.println("2 -> Konto anlegen");
|
||||||
System.out.println("3 -> Geld einzahlen");
|
System.out.println("3 -> Geld einzahlen");
|
||||||
System.out.println("4 -> Kontostand abfragen");
|
System.out.println("4 -> Geld Auszahlen");
|
||||||
|
System.out.println("5 -> Kontostand abfragen");
|
||||||
|
System.out.println("6 -> Kontoauszug erstellen");
|
||||||
|
System.out.println("7 -> Überweisung an anderes Konto");
|
||||||
System.out.println("9 -> Beenden");
|
System.out.println("9 -> Beenden");
|
||||||
System.out.println();
|
System.out.println();
|
||||||
|
|
||||||
|
@ -36,7 +39,10 @@ public class UI {
|
||||||
case 1: kontenAnzeigen(); break;
|
case 1: kontenAnzeigen(); break;
|
||||||
case 2: kontoAnlegen(); break;
|
case 2: kontoAnlegen(); break;
|
||||||
case 3: kontoEinzahlen();break;
|
case 3: kontoEinzahlen();break;
|
||||||
case 4: kontoStandAbfragen();break;
|
case 4: kontoAuszahlen();break;
|
||||||
|
case 5: kontoStandAbfragen();break;
|
||||||
|
case 6: kontoAuszugerstellen();break;
|
||||||
|
case 7: kontoÜberweißen();break;
|
||||||
case 9: break mainloop;
|
case 9: break mainloop;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -69,32 +75,16 @@ public class UI {
|
||||||
public void kontoEinzahlen() {
|
public void kontoEinzahlen() {
|
||||||
System.out.println("Kontonummer: ");
|
System.out.println("Kontonummer: ");
|
||||||
int Kontonummer=Integer.parseInt(sc.nextLine());
|
int Kontonummer=Integer.parseInt(sc.nextLine());
|
||||||
long Betrag=0L;
|
long Betrag=richtigerBetrag();
|
||||||
|
|
||||||
try {
|
|
||||||
System.out.println("Betrag angeben");
|
|
||||||
Betrag=Long.parseLong(sc.nextLine());
|
|
||||||
|
|
||||||
if(Betrag<0) {
|
|
||||||
System.out.println("Man kann keine negativen Beträge einzahlen ");
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
catch(Exception InputMismatchException){
|
|
||||||
System.out.println("Bitte daran denken das nur ganze Zahlen mit Long angenommen werden");
|
|
||||||
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
|
|
||||||
|
if(existiertKonto(Kontonummer)&&Betrag!=0) {
|
||||||
long Kontostand=bs.Einzahlen(Kontonummer, Betrag);
|
long Kontostand=bs.Einzahlen(Kontonummer, Betrag);
|
||||||
System.out.println("Der aktuelle Kontostand beträgt: "+Kontostand+" Euro");
|
System.out.println("Der aktuelle Kontostand beträgt: "+Kontostand+" Euro");
|
||||||
sc.nextLine();
|
|
||||||
}catch(Exception NullPointerException) {
|
|
||||||
System.out.println("Nicht excistierendes Konto");
|
|
||||||
sc.nextLine();
|
|
||||||
}
|
}
|
||||||
|
sc.nextLine();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -102,12 +92,82 @@ public class UI {
|
||||||
public void kontoStandAbfragen() {
|
public void kontoStandAbfragen() {
|
||||||
System.out.println("bitte geben Sie ihre Kontonummer an: ");
|
System.out.println("bitte geben Sie ihre Kontonummer an: ");
|
||||||
int Kontonummer=Integer.parseInt(sc.nextLine());
|
int Kontonummer=Integer.parseInt(sc.nextLine());
|
||||||
try {
|
if(existiertKonto(Kontonummer))
|
||||||
System.out.println("der Kontostand beträgt: "+ bs.getKontostand(Kontonummer));
|
System.out.println("der Kontostand beträgt: "+ bs.getKontostand(Kontonummer));
|
||||||
|
|
||||||
|
sc.nextLine();
|
||||||
}
|
}
|
||||||
catch(Exception NullPointerException) {
|
|
||||||
System.out.println("Nicht excistierendes Konto");
|
public void kontoAuszugerstellen() {
|
||||||
|
System.out.println("bitte geben Sie ihre Kontonummer an: ");
|
||||||
|
int Kontonummer=Integer.parseInt(sc.nextLine());
|
||||||
|
if(existiertKonto(Kontonummer))
|
||||||
|
bs.kontoAuszugerstellen(Kontonummer);
|
||||||
|
sc.nextLine();
|
||||||
|
}
|
||||||
|
public void kontoAuszahlen() {
|
||||||
|
System.out.println("Kontonummer: ");
|
||||||
|
int Kontonummer=Integer.parseInt(sc.nextLine());
|
||||||
|
long Betrag=richtigerBetrag();
|
||||||
|
|
||||||
|
if(existiertKonto(Kontonummer)&&Betrag!=0) {
|
||||||
|
long Kontostand=bs.Abheben(Kontonummer, Betrag);
|
||||||
|
System.out.println("Der aktuelle Kontostand beträgt: "+Kontostand+" Euro");
|
||||||
}
|
}
|
||||||
sc.nextLine();
|
sc.nextLine();
|
||||||
}
|
}
|
||||||
|
public void kontoÜberweißen() {
|
||||||
|
System.out.println("Kontonummer Absender: ");
|
||||||
|
int KontonummerA=Integer.parseInt(sc.nextLine());
|
||||||
|
System.out.println("Kontonummer Empfänger: ");
|
||||||
|
int KontonummerE=Integer.parseInt(sc.nextLine());
|
||||||
|
|
||||||
|
long Betrag=richtigerBetrag();
|
||||||
|
|
||||||
|
if(existiertKonto(KontonummerE)&&Betrag!=0&&existiertKonto(KontonummerA)) {
|
||||||
|
bs.Überweisung(KontonummerE, KontonummerA, Betrag);
|
||||||
|
}
|
||||||
|
sc.nextLine();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public boolean existiertKonto(int Kontonummer) {
|
||||||
|
try {
|
||||||
|
bs.getKontostand(Kontonummer);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
catch(Exception NullPointerException) {
|
||||||
|
System.out.println("Konto mit der Nummer: "+Kontonummer+" existiert nicht");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public long richtigerBetrag() {
|
||||||
|
try {
|
||||||
|
System.out.println("Betrag angeben");
|
||||||
|
long Betrag=Long.parseLong(sc.nextLine());
|
||||||
|
|
||||||
|
if(Betrag<0) {
|
||||||
|
System.out.println("Man kann keine negativen Beträge einzahlen ");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return Betrag;
|
||||||
|
|
||||||
|
}
|
||||||
|
catch(Exception InputMismatchException){
|
||||||
|
System.out.println("Bitte daran denken das nur ganze Zahlen mit Long angenommen werden");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue