myBranch
Tobias Heid 2022-10-11 08:34:09 +02:00
parent ba349af6c3
commit 5d85d329e7
14 changed files with 229 additions and 8 deletions

BIN
.DS_Store vendored 100644

Binary file not shown.

11
.project 100644
View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>Bank-System</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
</buildSpec>
<natures>
</natures>
</projectDescription>

BIN
Bank-Beispiel/.DS_Store vendored 100644

Binary file not shown.

View File

@ -6,5 +6,6 @@
</attributes>
</classpathentry>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/5"/>
<classpathentry kind="output" path="bin"/>
</classpath>

BIN
Bank-Beispiel/src/.DS_Store vendored 100644

Binary file not shown.

BIN
Bank-Beispiel/src/de/.DS_Store vendored 100644

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -19,8 +19,18 @@ public class Bank {
return name;
}
// zugirff mit getter mein teill
public HashMap<Integer, Konto> getKonten() {
return konten;
}
public Collection<Konto> getKontenliste() {
return konten.values();
}
}

View File

@ -3,19 +3,45 @@ package de.hs_mannheim.informatik.bank.domain;
public class Konto {
private static int kontozähler = 0;
// festlegung der klassenfariablen
private int nummer;
private long stand = 0;
private String inhaber;
// konstruktor
public Konto(String inhaber) {
nummer = 1000 + kontozähler++;
this.inhaber = inhaber;
}
public long kontoStandErhöhen(Konto k,long guthaben ) {
k.stand = k.stand + guthaben;
return k.stand;
}
public int getKontonummer() {
return nummer;
}
public long getStand() {
return stand;
}
//
@Override
public String toString() {
return "Konto [nummer=" + nummer + ", inhaber=" + inhaber + "]";

View File

@ -0,0 +1,22 @@
package de.hs_mannheim.informatik.bank.domain;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Test;
class KontoTest {
@Test
void einzahlenTest() {
Konto k = new Konto("User");
k.kontoStandErhöhen(k, 100);
assertEquals(150,k.kontoStandErhöhen(k, 50));
}
}

View File

@ -7,6 +7,7 @@ import de.hs_mannheim.informatik.bank.domain.Konto;
public class Banksystem {
private Bank bank;
private Konto konto;
public Banksystem(String bankname) {
this.bank = new Bank(bankname);
@ -19,6 +20,64 @@ public class Banksystem {
return k.getKontonummer();
}
// eigene Methoden
public void geldEinzahlung(String betrag, Konto konto) {
long moneyy = Long.parseLong(betrag.replace(",", ""));
konto.kontoStandErhöhen(konto, moneyy);
}
public String kontostandAnzeigen(long kontostand) {
String bStr = String.valueOf(kontostand);
String ausgabe = bStr.substring(0,bStr.length()-2)+","+ bStr.substring(bStr.length()-2)+"_Euro";
return ausgabe;
}
public Konto kontoSuchen(int kNummer) {
Konto kontoSuche = null;
boolean check;
if(bank.getKonten().containsKey(kNummer)) {
kontoSuche = bank.getKonten().get(kNummer);
}else {
System.out.println("Konto nicht vorhanden");
}
return kontoSuche;
}
// ende eigener methoden
public String[] getKontenliste() {
Collection<Konto> konten = bank.getKontenliste();
String[] liste = new String[konten.size()];
@ -31,6 +90,7 @@ public class Banksystem {
return liste;
}
public String getBankname() {
return bank.getName();
}

View File

@ -0,0 +1,25 @@
package de.hs_mannheim.informatik.bank.facade;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Test;
import de.hs_mannheim.informatik.bank.domain.Konto;
class BanksystemTest {
@Test
void geldEinzahlunTest() {
Banksystem bs = new Banksystem("testBank");
assertEquals("150,00_Euro", bs.kontostandAnzeigen(15000));
}
}

View File

@ -2,27 +2,32 @@ package de.hs_mannheim.informatik.bank.ui;
import java.util.Scanner;
import de.hs_mannheim.informatik.bank.domain.Konto;
import de.hs_mannheim.informatik.bank.facade.Banksystem;
public class UI {
private Banksystem bs;
Scanner sc = new Scanner(System.in);
private Banksystem bs; // objekt banksystem angelght ist private damit man es nur in der klasse benutzen kann
Scanner sc = new Scanner(System.in);// scanner für einagben öffenen
public UI(Banksystem bs) {
this.bs = bs;
hauptmenü();
public UI(Banksystem bs) { // construcktor
this.bs = bs; // zusweisung der variable
hauptmenü(); // methode
}
private void hauptmenü() {
System.out.println("Willkommen bei der " + bs.getBankname() + "!");
System.out.println("Willkommen bei der " + bs.getBankname() + "!"); // wilkommensnachricht
mainloop:
while (true) {
mainloop:
while (true) { // mainloop für das banksystem : funktion --
System.out.println();
System.out.println("--------");
System.out.println("Hauptmenü");
System.out.println("1 -> Konten anzeigen");
System.out.println("2 -> Konto anlegen");
System.out.println("3 -> Geld einzahlen");
System.out.println("4 -> Konto Übericht");
System.out.println("9 -> Beenden");
System.out.println();
@ -30,9 +35,13 @@ public class UI {
int input = Integer.parseInt(sc.nextLine());
System.out.println();
switch(input) {
case 1: kontenAnzeigen(); break;
case 2: kontoAnlegen(); break;
case 3: gelEinzahlen(); break;
case 4: kontoÜbersicht(); break;
case 9: break mainloop;
}
}
@ -53,6 +62,7 @@ public class UI {
}
}
private void kontoAnlegen() {
System.out.println("Bitte den Namen des Kontoinhabers angeben: ");
String name = sc.nextLine();
@ -60,5 +70,61 @@ public class UI {
int kontonummer = bs.kontoAnlegen(name);
System.out.println("Konto mit der Nummer " + kontonummer + " neu angelegt.");
}
// mein teill
private void gelEinzahlen() {
Konto konto;
konto = bs.kontoSuchen(kontoSuchen());
System.out.println("_______");
System.out.println("Achten sie darauf das sie cent beträge mit einem kommer kenzeichnen");
System.out.println();
System.out.println("Einzuzahlender Betrag > ");
String betrag = sc.nextLine();
bs.geldEinzahlung(betrag,konto);
System.out.println("Eingezahlter Betrag ");
}
private void kontoÜbersicht() {
Konto konto;
konto = bs.kontoSuchen(kontoSuchen());
System.out.println("_______");
System.out.println("--Ihre Konto Übersicht--");
System.out.println();
System.out.println(konto.toString());
System.out.println();
System.out.println("Aktueller Kontostand > " + bs.kontostandAnzeigen(konto.getStand()));
}
private int kontoSuchen() {
System.out.println("Bitte Kontonummer eingeben: ");
String knummer = sc.nextLine();
int nummer = Integer.parseInt(knummer);
return nummer;
}
}