forked from hummel/Bank-System
kauf aktien still buggy
parent
31429a0998
commit
076845f3e4
|
@ -5,9 +5,9 @@ public class Aktien {
|
||||||
private static int id = 0;
|
private static int id = 0;
|
||||||
private String name;
|
private String name;
|
||||||
private long kosten;
|
private long kosten;
|
||||||
private String inhaber;
|
private Konto inhaber;
|
||||||
|
|
||||||
public Aktien(String name, long kosten, String inhaber) {
|
public Aktien(String name, long kosten, Konto inhaber) {
|
||||||
super();
|
super();
|
||||||
this.name = name;
|
this.name = name;
|
||||||
this.kosten = kosten;
|
this.kosten = kosten;
|
||||||
|
@ -19,7 +19,7 @@ public class Aktien {
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setInhaber(String inhaber) {
|
public void setInhaber(Konto inhaber) {
|
||||||
this.inhaber = inhaber;
|
this.inhaber = inhaber;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -26,21 +26,12 @@ public class Bank implements Serializable {
|
||||||
|
|
||||||
|
|
||||||
public void kaufeAktien(int kontonummer, int idAktien) {
|
public void kaufeAktien(int kontonummer, int idAktien) {
|
||||||
Aktien ak1 = new Aktien("WertTest",10,"bob");
|
Konto kd = konten.get(kontonummer);
|
||||||
Aktien ak2 = new Aktien("WertTest2",10,"otto");
|
|
||||||
Girokonto gr = new Girokonto("Paul", 1020);
|
|
||||||
Girokonto gr2 = new Girokonto("Blubb", 1021);
|
|
||||||
gr.einzahlen(10000, name, name, name);
|
|
||||||
gr2.einzahlen(10000, name, name, name);
|
|
||||||
wertpapiere.put(ak1.getId(),ak1);
|
|
||||||
wertpapiere.put(ak2.getId(),ak2);
|
|
||||||
|
|
||||||
Depot kd = (Depot) konten.get(kontonummer);
|
|
||||||
Aktien ak = wertpapiere.get(idAktien);
|
Aktien ak = wertpapiere.get(idAktien);
|
||||||
System.out.println(ak.toString());
|
System.out.println(ak.toString());
|
||||||
if(kd instanceof Depot) {
|
if(kd instanceof Depot) {
|
||||||
kd.kaufeAktien(gr2, ak);
|
((Depot)kd).kaufeAktien((Depot)kd, ak);
|
||||||
ak.setInhaber(kd.getInhaber());
|
ak.setInhaber(kd);
|
||||||
System.out.println(ak.toString());
|
System.out.println(ak.toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -52,10 +43,14 @@ public class Bank implements Serializable {
|
||||||
k = new Konto(name, ++kontozähler);
|
k = new Konto(name, ++kontozähler);
|
||||||
Kunde ku = kunden.get(id);
|
Kunde ku = kunden.get(id);
|
||||||
k.setKunde(ku);}
|
k.setKunde(ku);}
|
||||||
else {
|
else if(auswahl == 2) {
|
||||||
k = new Girokonto(name, ++kontozähler);
|
k = new Girokonto(name, ++kontozähler);
|
||||||
Kunde ku = kunden.get(id);
|
Kunde ku = kunden.get(id);
|
||||||
k.setKunde(ku);
|
k.setKunde(ku);
|
||||||
|
} else {
|
||||||
|
k = new Depot(name, ++kontozähler);
|
||||||
|
Kunde ku = kunden.get(id);
|
||||||
|
k.setKunde(ku);
|
||||||
}
|
}
|
||||||
konten.put(k.getKontonummer(), k);
|
konten.put(k.getKontonummer(), k);
|
||||||
|
|
||||||
|
@ -89,4 +84,15 @@ public class Bank implements Serializable {
|
||||||
return kunden.values();
|
return kunden.values();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void aktieAnlegen(String aktienName, int kosten, int kontonummer) {
|
||||||
|
Aktien ak = new Aktien(aktienName,kosten,konten.get(kontonummer));
|
||||||
|
wertpapiere.put(ak.getId(), ak);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public Collection<Aktien> getAktienListe() {
|
||||||
|
return wertpapiere.values();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,8 +10,8 @@ public class Depot extends Girokonto {
|
||||||
super(inhaber, kontozähler);
|
super(inhaber, kontozähler);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean kaufeAktien(Girokonto g, Aktien ak) {
|
public boolean kaufeAktien(Depot g, Aktien ak) {
|
||||||
boolean erfolgreich = super.überweise(g, stand, getInhaber());
|
boolean erfolgreich = überweise(g, stand, getInhaber());
|
||||||
if(erfolgreich) {
|
if(erfolgreich) {
|
||||||
wertpapiere.add(ak);
|
wertpapiere.add(ak);
|
||||||
return true;
|
return true;
|
||||||
|
@ -22,4 +22,16 @@ public class Depot extends Girokonto {
|
||||||
public ArrayList<Aktien> getWertpapiere() {
|
public ArrayList<Aktien> getWertpapiere() {
|
||||||
return wertpapiere;
|
return wertpapiere;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public boolean überweise(Depot ziel, long betrag, String zweck) {
|
||||||
|
if (super.getKontostand() - betrag >= dispo * (-1)) {
|
||||||
|
this.auszahlen(betrag, zweck, "Überweisungsausgang", super.getInhaber());
|
||||||
|
ziel.einzahlen(betrag, zweck, "Überweisungseingang", super.getInhaber());
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,12 +3,13 @@ package de.hs_mannheim.informatik.bank.domain;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
public class Girokonto extends Konto implements Serializable {
|
public class Girokonto extends Konto implements Serializable {
|
||||||
private long dispo = 100000;
|
protected long dispo = 100000;
|
||||||
|
|
||||||
public Girokonto(String inhaber, int kontozähler) {
|
public Girokonto(String inhaber, int kontozähler) {
|
||||||
super(inhaber, kontozähler);
|
super(inhaber, kontozähler);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public boolean überweise(Girokonto ziel, long betrag, String zweck) {
|
public boolean überweise(Girokonto ziel, long betrag, String zweck) {
|
||||||
if (super.getKontostand() - betrag >= dispo * (-1)) {
|
if (super.getKontostand() - betrag >= dispo * (-1)) {
|
||||||
this.auszahlen(betrag, zweck, "Überweisungsausgang", super.getInhaber());
|
this.auszahlen(betrag, zweck, "Überweisungsausgang", super.getInhaber());
|
||||||
|
|
|
@ -3,6 +3,7 @@ package de.hs_mannheim.informatik.bank.facade;
|
||||||
import java.io.InvalidClassException;
|
import java.io.InvalidClassException;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
|
||||||
|
import de.hs_mannheim.informatik.bank.domain.Aktien;
|
||||||
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;
|
||||||
|
@ -117,4 +118,24 @@ public class Banksystem {
|
||||||
public void kontoZuKunde(int kontonummer, int id) {
|
public void kontoZuKunde(int kontonummer, int id) {
|
||||||
bank.kontoZuKunde(kontonummer, id);
|
bank.kontoZuKunde(kontonummer, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void aktieAnlegen(String aktienName, int kosten, int kontonummer) {
|
||||||
|
bank.aktieAnlegen(aktienName, kosten, kontonummer);
|
||||||
|
}
|
||||||
|
|
||||||
|
public String[] getAktienListe() {
|
||||||
|
Collection<Aktien> aktiens = bank.getAktienListe();
|
||||||
|
String[] liste = new String[aktiens.size()];
|
||||||
|
|
||||||
|
int i = 0;
|
||||||
|
for (Aktien k : aktiens) {
|
||||||
|
liste[i++] = k.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
return liste;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void kaufeAktien(int kontonummer, int aktienId) {
|
||||||
|
bank.kaufeAktien(kontonummer,aktienId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,7 +30,10 @@ public class UI {
|
||||||
System.out.println("8 -> Neuer Kunde");
|
System.out.println("8 -> Neuer Kunde");
|
||||||
System.out.println("9 -> Alle Kunden anzeigen");
|
System.out.println("9 -> Alle Kunden anzeigen");
|
||||||
System.out.println("10 -> Kunde zu Konto zuweisen");
|
System.out.println("10 -> Kunde zu Konto zuweisen");
|
||||||
System.out.println("12 -> Beenden");
|
System.out.println("11 -> Aktie anlegen");
|
||||||
|
System.out.println("12 -> Alle Aktien anzeigen");
|
||||||
|
System.out.println("13 -> Aktien kaufen");
|
||||||
|
System.out.println("99 -> Beenden");
|
||||||
System.out.println();
|
System.out.println();
|
||||||
|
|
||||||
System.out.print("> ");
|
System.out.print("> ");
|
||||||
|
@ -69,7 +72,16 @@ public class UI {
|
||||||
case 10:
|
case 10:
|
||||||
kontoZuKunde();
|
kontoZuKunde();
|
||||||
break;
|
break;
|
||||||
|
case 11:
|
||||||
|
aktienAnlegen();
|
||||||
|
break;
|
||||||
case 12:
|
case 12:
|
||||||
|
aktienAnzeigen();
|
||||||
|
break;
|
||||||
|
case 13:
|
||||||
|
aktienKaufen();
|
||||||
|
break;
|
||||||
|
case 99:
|
||||||
break mainloop;
|
break mainloop;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -83,6 +95,35 @@ public class UI {
|
||||||
|
|
||||||
} // hauptmenü
|
} // hauptmenü
|
||||||
|
|
||||||
|
private void aktienKaufen() {
|
||||||
|
System.out.println("Geben sie die Kontonummer ein");
|
||||||
|
int kontonummer = returnUserInput();
|
||||||
|
System.out.println("Geben sie die id der Aktie ein");
|
||||||
|
int aktienId = returnUserInput();
|
||||||
|
bs.kaufeAktien(kontonummer,aktienId);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void aktienAnzeigen() {
|
||||||
|
String[] aktien = bs.getAktienListe();
|
||||||
|
if(aktien.length > 0) {
|
||||||
|
for(String s : aktien) {
|
||||||
|
System.out.println(s);
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
System.out.println("Bisher keine Aktien angelegt.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void aktienAnlegen() {
|
||||||
|
System.out.println("Bitte geben sie den Namen der Aktie ein");
|
||||||
|
String aktienName = sc.nextLine();
|
||||||
|
System.out.println("Geben sie die Kosten ein");
|
||||||
|
int kosten = returnUserInput();
|
||||||
|
System.out.println("Welchem Konto gehört die Aktie Kontonummer eingeben");
|
||||||
|
int kontonummer = returnUserInput();
|
||||||
|
bs.aktieAnlegen(aktienName, kosten, kontonummer);
|
||||||
|
}
|
||||||
|
|
||||||
private void kontoZuKunde() {
|
private void kontoZuKunde() {
|
||||||
System.out.println("Geben sie die gewünschte Kontonummer ein");
|
System.out.println("Geben sie die gewünschte Kontonummer ein");
|
||||||
int kontoNr = returnUserInput();
|
int kontoNr = returnUserInput();
|
||||||
|
@ -131,7 +172,7 @@ 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();
|
||||||
|
|
||||||
System.out.println("Möchten Sie ein Sparkonto (1) oder ein Girokonto (2) anlegen?");
|
System.out.println("Möchten Sie ein Sparkonto (1), Girokonto (2) oder ein Depot (3) anlegen?");
|
||||||
int auswahl = returnUserInput();
|
int auswahl = returnUserInput();
|
||||||
|
|
||||||
System.out.println("Geben sie die Kundennummer ein(id)");
|
System.out.println("Geben sie die Kundennummer ein(id)");
|
||||||
|
|
Loading…
Reference in New Issue