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) {
|
||||
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 long stand = 0;
|
||||
private String inhaber;
|
||||
private Kontoauszug KA=new Kontoauszug();
|
||||
|
||||
public Konto(String inhaber) {
|
||||
nummer = 1000 + kontozähler++;
|
||||
this.inhaber = inhaber;
|
||||
//Kontoauszug KA=new Kontoauszug();
|
||||
}
|
||||
|
||||
public int getKontonummer() {
|
||||
|
@ -21,6 +23,8 @@ public class Konto {
|
|||
return "Konto [nummer=" + nummer + ", inhaber=" + inhaber + "]";
|
||||
}
|
||||
public long Einzahlen(long Betrag) {
|
||||
KA.Hinzufügen(Betrag, "Mannheim");
|
||||
|
||||
if(Betrag>=0)
|
||||
this.stand+=Betrag;
|
||||
return getStand();
|
||||
|
@ -28,4 +32,24 @@ public class Konto {
|
|||
public long getStand() {
|
||||
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();
|
||||
}
|
||||
public long Einzahlen(int Kontonummer,long Betrag) {
|
||||
return this.bank.GeldEinzahlen(Kontonummer, Betrag);
|
||||
return bank.GeldEinzahlen(Kontonummer, Betrag);
|
||||
}
|
||||
public long getKontostand(int 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("2 -> Konto anlegen");
|
||||
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();
|
||||
|
||||
|
@ -36,7 +39,10 @@ public class UI {
|
|||
case 1: kontenAnzeigen(); break;
|
||||
case 2: kontoAnlegen(); 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;
|
||||
}
|
||||
}
|
||||
|
@ -69,32 +75,16 @@ public class UI {
|
|||
public void kontoEinzahlen() {
|
||||
System.out.println("Kontonummer: ");
|
||||
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 {
|
||||
|
||||
long Kontostand=bs.Einzahlen(Kontonummer, Betrag);
|
||||
System.out.println("Der aktuelle Kontostand beträgt: "+Kontostand+" Euro");
|
||||
sc.nextLine();
|
||||
}catch(Exception NullPointerException) {
|
||||
System.out.println("Nicht excistierendes Konto");
|
||||
sc.nextLine();
|
||||
}
|
||||
|
||||
|
||||
if(existiertKonto(Kontonummer)&&Betrag!=0) {
|
||||
long Kontostand=bs.Einzahlen(Kontonummer, Betrag);
|
||||
System.out.println("Der aktuelle Kontostand beträgt: "+Kontostand+" Euro");
|
||||
}
|
||||
sc.nextLine();
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -102,12 +92,82 @@ public class UI {
|
|||
public void kontoStandAbfragen() {
|
||||
System.out.println("bitte geben Sie ihre Kontonummer an: ");
|
||||
int Kontonummer=Integer.parseInt(sc.nextLine());
|
||||
try {
|
||||
if(existiertKonto(Kontonummer))
|
||||
System.out.println("der Kontostand beträgt: "+ bs.getKontostand(Kontonummer));
|
||||
}
|
||||
catch(Exception NullPointerException) {
|
||||
System.out.println("Nicht excistierendes Konto");
|
||||
|
||||
sc.nextLine();
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
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