New: Funktionalität zum Aktienkauf hinzugefügt

main
Caner 2022-11-23 22:55:36 +01:00
parent b75fda7da0
commit 432a2590d4
4 changed files with 57 additions and 22 deletions

View File

@ -92,5 +92,9 @@ public class Bank implements Serializable {
return k.getKonten();
}
public Long getAktienPreis(String aktienName){
return Aktie.getAktienkurs(aktienName);
}
}

View File

@ -1,10 +1,13 @@
package de.hs_mannheim.informatik.bank.domain;
import java.util.HashMap;
public class Depot extends Konto{
private HashMap<Integer, String> aktienMap = new HashMap<Integer, String>();
public Depot(Kunde kunde, int kontozähler) {
super(kunde, kontozähler);
}
@ -14,12 +17,12 @@ public class Depot extends Konto{
return "Depot mit der Kontonummer " + super.getKontonummer() + " angelegt.";
}
public boolean auszahlen(int auswahl, String aktienName){
public boolean aktienAuszahlung(int auswahl, String aktienName){
if (stand - auswahl * Aktie.getAktienkurs(aktienName) >= 0) {
stand -= auswahl * (Aktie.getAktienkurs(aktienName));
if (stand - (auswahl * Aktie.getAktienkurs(aktienName)) >= 0) {
stand -= (auswahl * Aktie.getAktienkurs(aktienName));
kontobewegungen.add(new Kontobewegung(auswahl * Aktie.getAktienkurs(aktienName) * -1, "Aktienkauf", "Aktienkauf", super.getKunde().getName()));
kontobewegungen.add(new Kontobewegung((auswahl * Aktie.getAktienkurs(aktienName)) * -1, "Aktienkauf", "Aktienkauf", super.getKunde().getName()));
return true;
}
@ -29,8 +32,9 @@ public class Depot extends Konto{
return false;
}
public void addAktieToMap(int anzahl, String aktienName){
aktienMap.put(anzahl, aktienName);
}
}

View File

@ -167,27 +167,28 @@ public class Banksystem {
return bank.getKundenzähler();
}
// public boolean aktienKauf(int kontonummer){
// Konto konto = bank.findeKonto(kontonummer);
// if(konto instanceof Depot){
public Long getAktienPreis(String aktienName){
return bank.getAktienPreis(aktienName);
}
public boolean aktienKauf(int kontonummer, int anzahl, String aktienName){
Konto konto = bank.findeKonto(kontonummer);
if(konto instanceof Depot){
boolean erg = ((Depot) konto).aktienAuszahlung(anzahl, aktienName);
return erg;
}
// }
// return false;
// }
return false;
}
}

View File

@ -31,8 +31,9 @@ public class TUI {
System.out.println("6 -> Kontoauszug drucken");
System.out.println("7 -> Überweisung beauftragen");
System.out.println("8 -> Saldo abfragen");
System.out.println("9 -> Aktien kaufen");
System.out.println("9 -> Beenden");
System.out.println("10 -> Beenden");
System.out.println();
System.out.print("> ");
@ -69,6 +70,9 @@ public class TUI {
saldoAbfragen();
break;
case 9:
aktienKaufen();
break;
case 10:
break mainloop;
}
@ -83,6 +87,28 @@ public class TUI {
} // hauptmenü
private void aktienKaufen() {
System.out.println("Aktien kaufen");
System.out.println("Bitte geben Sie die Kontonummer ein: ");
int kontonummer = Integer.parseInt(sc.nextLine());
System.out.println("Folgende Aktien sind Verfügbar");
System.out.println("1 -> Deutsche Bank AG (DBK.DE)\n2 -> Deere & Company (DCO.DE)");
System.out.println("Bitte geben Sie den Namen in Klammern ein um den Preis zu sehen:");
String aktienName = sc.nextLine();
System.out.println("Preis der Aktie");
System.out.println(bs.getAktienPreis(aktienName));
System.out.println("Bitte geben Sie die Anzahl der Aktien ein, die Sie kaufen möchten: ");
int anzahl = Integer.parseInt(sc.nextLine());
boolean erg = bs.aktienKauf(kontonummer, anzahl, aktienName);
System.out.printf("Aktienkauf" + ((!erg)? " nicht" : "" ) + " erfolgreich. ");
}
private void kontoAnlegen() throws IOException{
System.out.println("Bitte geben Sie Ihre Kunden ID ein: ");
System.out.println("> ");