Fix: Aktien kaufen entfernt & code refactoring

main
Caner 2022-11-22 15:09:40 +01:00
parent 77694e45d5
commit 5f37d54169
4 changed files with 18 additions and 73 deletions

View File

@ -12,16 +12,12 @@ public class Bank implements Serializable {
private HashMap<Integer, Kunde> kundenMap = new HashMap<>(); private HashMap<Integer, Kunde> kundenMap = new HashMap<>();
private int kontozähler; private int kontozähler;
private int kundenzähler; private int kundenzähler;
private String aktienName;
private int aktienPreis;
public Bank(String name) { public Bank(String name) {
this.name = name; this.name = name;
this.kontozähler = -1; this.kontozähler = -1;
this.kundenzähler = -1; this.kundenzähler = -1;
this.aktienName = "BMW";
this.aktienPreis = 20;
} }
public int addKonto(Kunde kundenMap, Kontoart kontoart) { public int addKonto(Kunde kundenMap, Kontoart kontoart) {
@ -96,12 +92,5 @@ public class Bank implements Serializable {
return k.getKonten(); return k.getKonten();
} }
public String getAktienName() {
return this.aktienName;
}
public int getAktienPreis() {
return aktienPreis;
}
} }

View File

@ -14,36 +14,35 @@ public class Depot extends Konto{
@Override @Override
public String toString() { public String toString() {
return "Depot mit der Kontonummer " + super.getKontonummer() + " angelegt."; return "Depot mit der Kontonummer " + super.getKontonummer() + " angelegt.";
} }
public boolean aktienKaufen(int anzahl){
if (super.getKontostand() >= anzahl * 20){
long betrag = anzahl * 20;
super.auszahlen(betrag, "Aktien", "Aktienkauf", "super.getKunde().getName()");
return true;
}
return false;
}
public void fileReader(String filename){ public void fileReader(String filename){
String currLine = "";
try { try {
Scanner scanner = new Scanner(new File(filename)); Scanner scanner = new Scanner(new File(filename));
while(scanner.hasNext()){ while(scanner.hasNext()){
System.out.println(scanner.nextLine()); currLine = scanner.nextLine();
} }
String val[] = currLine.split(";");
for(int i = 0; i < val.length; i++){
System.out.println(val[i]);
}
scanner.close();
} catch (FileNotFoundException e) { } catch (FileNotFoundException e) {
System.err.println("Datei nicht gefunden"); System.err.println("Datei nicht gefunden");
e.printStackTrace(); e.printStackTrace();
} }
} }

View File

@ -5,9 +5,9 @@ import java.util.Collection;
import java.util.HashMap; import java.util.HashMap;
import de.hs_mannheim.informatik.bank.domain.Bank; import de.hs_mannheim.informatik.bank.domain.Bank;
import de.hs_mannheim.informatik.bank.domain.Depot;
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.hs_mannheim.informatik.bank.domain.Kontoart;
import de.hs_mannheim.informatik.bank.domain.Kunde; import de.hs_mannheim.informatik.bank.domain.Kunde;
import de.hs_mannheim.informatik.bank.infrastructure.Persistenz; import de.hs_mannheim.informatik.bank.infrastructure.Persistenz;
@ -31,8 +31,8 @@ public class Banksystem {
this.bank = new Bank(bankname); this.bank = new Bank(bankname);
} }
public int kontoAnlegen(Kunde kunde, int auswahl) throws IOException { public int kontoAnlegen(Kunde kunde, Kontoart kontoart) throws IOException {
int kontonummer = bank.addKonto(kunde, auswahl); int kontonummer = bank.addKonto(kunde, kontoart);
Persistenz.speichereBankDaten(this.bank, bank.getName()); Persistenz.speichereBankDaten(this.bank, bank.getName());
@ -117,23 +117,6 @@ public class Banksystem {
return false; return false;
} }
public boolean aktienKaufen(int kontonummer, int anzahl){
Konto konto = bank.findeKonto(kontonummer);
if (konto instanceof Depot){
boolean erfolg = ((Depot) konto).aktienKaufen(anzahl);
return erfolg;
}
return false;
}
public long getKontostand(int kontonummer) { public long getKontostand(int kontonummer) {
Konto konto = bank.findeKonto(kontonummer); Konto konto = bank.findeKonto(kontonummer);
@ -183,12 +166,4 @@ public class Banksystem {
return bank.getKundenzähler(); return bank.getKundenzähler();
} }
public String getAktienName(){
return bank.getAktienName();
}
public int getAktienPreis(){
return bank.getAktienPreis();
}
} }

View File

@ -31,9 +31,8 @@ public class TUI {
System.out.println("6 -> Kontoauszug drucken"); System.out.println("6 -> Kontoauszug drucken");
System.out.println("7 -> Überweisung beauftragen"); System.out.println("7 -> Überweisung beauftragen");
System.out.println("8 -> Saldo abfragen"); System.out.println("8 -> Saldo abfragen");
System.out.println("9 -> Aktien kaufen");
System.out.println("10 -> Beenden"); System.out.println("9 -> Beenden");
System.out.println(); System.out.println();
System.out.print("> "); System.out.print("> ");
@ -70,9 +69,6 @@ public class TUI {
saldoAbfragen(); saldoAbfragen();
break; break;
case 9: case 9:
aktienKaufen();
break;
case 10:
break mainloop; break mainloop;
} }
@ -86,20 +82,6 @@ public class TUI {
} // hauptmenü } // hauptmenü
private void aktienKaufen() {
System.out.println("Aktuell verfügbare Aktien: " + bs.getAktienName() + ", Preis pro Aktie: " + bs.getAktienPreis());
System.out.println("Geben Sie die Anzahl der Aktien ein, die Sie kaufen möchten: ");
int anzahl = Integer.parseInt(sc.nextLine());
System.out.println("Geben Sie Ihre Kontonummer ein: ");
int kontonummer = Integer.parseInt(sc.nextLine());
boolean erfolgreich = bs.aktienKaufen(kontonummer, anzahl);
System.out.println("Überweisung" + ((!erfolgreich) ? " nicht" : "") + " erfolgreich ausgeführt.");
}
private void kontoAnlegen() throws IOException{ private void kontoAnlegen() throws IOException{
System.out.println("Bitte geben Sie Ihre Kunden ID ein: "); System.out.println("Bitte geben Sie Ihre Kunden ID ein: ");