forked from hummel/Bank-System
Umebnnenung
parent
c1da0094f2
commit
d4e200beca
2
.project
2
.project
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<projectDescription>
|
<projectDescription>
|
||||||
<name>Bank-System</name>
|
<name>Bank-SystemMeins</name>
|
||||||
<comment></comment>
|
<comment></comment>
|
||||||
<projects>
|
<projects>
|
||||||
</projects>
|
</projects>
|
||||||
|
|
|
@ -6,5 +6,6 @@
|
||||||
</attributes>
|
</attributes>
|
||||||
</classpathentry>
|
</classpathentry>
|
||||||
<classpathentry kind="src" path="src"/>
|
<classpathentry kind="src" path="src"/>
|
||||||
|
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/5"/>
|
||||||
<classpathentry kind="output" path="bin"/>
|
<classpathentry kind="output" path="bin"/>
|
||||||
</classpath>
|
</classpath>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<projectDescription>
|
<projectDescription>
|
||||||
<name>Bank-Beispiel</name>
|
<name>Bank-BeispielMeins</name>
|
||||||
<comment></comment>
|
<comment></comment>
|
||||||
<projects>
|
<projects>
|
||||||
</projects>
|
</projects>
|
||||||
|
|
Binary file not shown.
|
@ -12,15 +12,15 @@ public class Bank implements Serializable {
|
||||||
private String name;
|
private String name;
|
||||||
private HashMap<Integer, Konto> konten = new HashMap<>();
|
private HashMap<Integer, Konto> konten = new HashMap<>();
|
||||||
|
|
||||||
public Bank(String name) {
|
public Bank(String name) { // bank kriegt name
|
||||||
this.name = name;
|
this.name = name;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addKonto(Konto k) {
|
public void addKonto(Konto k) { // ein konto wird hinzugefügt mit der neuen kontonummer
|
||||||
konten.put(k.getKontonummer(), k);
|
konten.put(k.getKontonummer(), k);
|
||||||
}
|
}
|
||||||
|
|
||||||
public long zahleEin(Integer kontonummer, long einzahlung) {
|
public long zahleEin(Integer kontonummer, long einzahlung) { // object konto wird erstellt mit dem kontonummer und wird auf den minimalwert geprüft und einzahlen aufgerufen
|
||||||
Konto konto = konten.get(kontonummer);
|
Konto konto = konten.get(kontonummer);
|
||||||
|
|
||||||
if(konto == null)
|
if(konto == null)
|
||||||
|
@ -29,7 +29,7 @@ public class Bank implements Serializable {
|
||||||
return konto.zahleEin(einzahlung);
|
return konto.zahleEin(einzahlung);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getName() {
|
public String getName() { // getter für Name und Kontostand wird errichtet
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -47,11 +47,11 @@ public class Bank implements Serializable {
|
||||||
return konten.containsKey(kontonummer);
|
return konten.containsKey(kontonummer);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Collection<Konto> getKontenliste() {
|
public Collection<Konto> getKontenliste() { //kontenliste wird
|
||||||
return konten.values();
|
return konten.values();
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Kontoauszug> getAuszuge(Integer kontonummer) {
|
public List<Kontoauszug> getAuszuge(Integer kontonummer) { //arrayliste mit kontoauszug wird erstellt
|
||||||
Konto konto = konten.get(kontonummer);
|
Konto konto = konten.get(kontonummer);
|
||||||
|
|
||||||
if(konto == null)
|
if(konto == null)
|
||||||
|
|
|
@ -30,6 +30,7 @@ public class Konto implements Serializable {
|
||||||
return stand;
|
return stand;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public long zahleEin(long einzahlung) {
|
public long zahleEin(long einzahlung) {
|
||||||
this.stand += einzahlung;
|
this.stand += einzahlung;
|
||||||
// inhaber muss theoretisch ermittelt werden mit scanner
|
// inhaber muss theoretisch ermittelt werden mit scanner
|
||||||
|
|
|
@ -0,0 +1,43 @@
|
||||||
|
package de.hs_mannheim.informatik.bank.domain;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
class KontoTest {
|
||||||
|
//assertEquals testet ob zahleEin() den Kontostand richtig erhöht
|
||||||
|
@Test
|
||||||
|
void testzahleEin(){
|
||||||
|
Konto konto = new Konto ("Hans");
|
||||||
|
long zahl1 = 5000;
|
||||||
|
konto.zahleEin(zahl1);
|
||||||
|
assertEquals(konto.getKontostand(), zahl1);
|
||||||
|
|
||||||
|
}
|
||||||
|
@Test
|
||||||
|
void testzahleEin2() {
|
||||||
|
Konto konto = new Konto ("Hans");
|
||||||
|
long zahl1 = -500;
|
||||||
|
konto.zahleEin(zahl1);
|
||||||
|
assertNotEquals(konto.getKontostand(), 5);
|
||||||
|
}
|
||||||
|
//es gibt keine methode für zahleaus, wir testen zahleEin auf negativem betrag
|
||||||
|
@Test
|
||||||
|
void testzahleAus() {
|
||||||
|
Konto konto = new Konto ("Hans");
|
||||||
|
long zahl1 = -100;
|
||||||
|
konto.zahleEin(zahl1);
|
||||||
|
assertEquals(konto.getKontostand(), zahl1);
|
||||||
|
}
|
||||||
|
|
||||||
|
//test ob die erste Kontonummer richtig vergeben wird
|
||||||
|
@Test
|
||||||
|
void testKontonummer() {
|
||||||
|
Konto konto = new Konto ("bauer");
|
||||||
|
assertEquals(konto.getKontonummer(), 1003);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -15,10 +15,6 @@ public class Banksystem {
|
||||||
this.bank = new Bank(bankname);
|
this.bank = new Bank(bankname);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Banksystem() {
|
|
||||||
// TODO Auto-generated constructor stub
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public int kontoAnlegen(String name) {
|
public int kontoAnlegen(String name) {
|
||||||
Konto k = new Konto(name);
|
Konto k = new Konto(name);
|
||||||
|
@ -71,10 +67,7 @@ public class Banksystem {
|
||||||
BankSerializer.saveToFile("meine_tolle_bank.txt", bank);
|
BankSerializer.saveToFile("meine_tolle_bank.txt", bank);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void einzahlen(int i) {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
|
@ -0,0 +1,23 @@
|
||||||
|
package de.hs_mannheim.informatik.bank.facade;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertTrue;
|
||||||
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import de.hs_mannheim.informatik.bank.domain.Bank;
|
||||||
|
import de.hs_mannheim.informatik.bank.domain.Konto;
|
||||||
|
|
||||||
|
class BanksystemTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testkontoAnlegen() {
|
||||||
|
Banksystem bs = new Banksystem ("Sparkasse");
|
||||||
|
String name = "Peter";
|
||||||
|
|
||||||
|
assertEquals(bs.kontoAnlegen(name) ,1000 );
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -12,7 +12,7 @@ public class UI {
|
||||||
|
|
||||||
public UI(Banksystem bs) {
|
public UI(Banksystem bs) {
|
||||||
this.bs = bs;
|
this.bs = bs;
|
||||||
bs.ladeSitzung();
|
bs.speichereSitzung();
|
||||||
hauptmenü();
|
hauptmenü();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -81,7 +81,8 @@ public class UI {
|
||||||
private void kontoEinzahlen() {
|
private void kontoEinzahlen() {
|
||||||
// Konto ermitteln
|
// Konto ermitteln
|
||||||
System.out.print("Bitte die Kontonummer angeben: ");
|
System.out.print("Bitte die Kontonummer angeben: ");
|
||||||
Integer kontonummer = sc.nextInt(); // warum kein null check / empty check
|
Integer kontonummer = sc.nextInt(); // warum kein null check / empty check
|
||||||
|
|
||||||
|
|
||||||
if(!bs.existiertKonto(kontonummer)) {
|
if(!bs.existiertKonto(kontonummer)) {
|
||||||
System.out.print("Kein Konto mit dieser Kontonummer existiert.");
|
System.out.print("Kein Konto mit dieser Kontonummer existiert.");
|
||||||
|
@ -93,6 +94,7 @@ public class UI {
|
||||||
System.out.print("Bitte den einzuzahlenden Betrag angeben: ");
|
System.out.print("Bitte den einzuzahlenden Betrag angeben: ");
|
||||||
long betrag = sc.nextLong();
|
long betrag = sc.nextLong();
|
||||||
|
|
||||||
|
|
||||||
// Einzahlen
|
// Einzahlen
|
||||||
long kontostand = bs.zahleEin(kontonummer, betrag);
|
long kontostand = bs.zahleEin(kontonummer, betrag);
|
||||||
System.out.print("Konto mit der Nummer " + kontonummer + " hat einen Kontostand von " + kontostand);
|
System.out.print("Konto mit der Nummer " + kontonummer + " hat einen Kontostand von " + kontostand);
|
||||||
|
@ -107,7 +109,8 @@ public class UI {
|
||||||
|
|
||||||
if(!bs.existiertKonto(kontonummer)) {
|
if(!bs.existiertKonto(kontonummer)) {
|
||||||
System.out.println("Kein Konto mit dieser Kontonummer existiert.");
|
System.out.println("Kein Konto mit dieser Kontonummer existiert.");
|
||||||
|
kontoAbheben();
|
||||||
|
return;// könnte auch return rein
|
||||||
}
|
}
|
||||||
|
|
||||||
// Betrag ermitteln
|
// Betrag ermitteln
|
||||||
|
@ -127,6 +130,7 @@ public class UI {
|
||||||
if(!bs.existiertKonto(kontonummer)) {
|
if(!bs.existiertKonto(kontonummer)) {
|
||||||
System.out.println("Kein Konto mit dieser Kontonummer existiert.");
|
System.out.println("Kein Konto mit dieser Kontonummer existiert.");
|
||||||
return;
|
return;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
List<Kontoauszug> auszuge = bs.getAuszuge(kontonummer);
|
List<Kontoauszug> auszuge = bs.getAuszuge(kontonummer);
|
||||||
|
|
|
@ -13,8 +13,8 @@ import de.hs_mannheim.informatik.bank.domain.Bank;
|
||||||
public class BankSerializer {
|
public class BankSerializer {
|
||||||
|
|
||||||
public static void saveToFile(String filename, Bank bank) {
|
public static void saveToFile(String filename, Bank bank) {
|
||||||
try(ObjectOutputStream fos = new ObjectOutputStream(new FileOutputStream(new File(filename)))) {
|
try(ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(new File(filename)))) {
|
||||||
fos.writeObject(bank);
|
oos.writeObject(bank);
|
||||||
} catch (FileNotFoundException e) {
|
} catch (FileNotFoundException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
} catch (IOException e1) {
|
} catch (IOException e1) {
|
||||||
|
@ -23,9 +23,9 @@ public class BankSerializer {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Bank readFromFile(String filename) {
|
public static Bank readFromFile(String filename) {
|
||||||
try(ObjectInputStream fos = new ObjectInputStream(new FileInputStream(new File(filename)))) {
|
try(ObjectInputStream ooi = new ObjectInputStream(new FileInputStream(new File(filename)))) {
|
||||||
try {
|
try {
|
||||||
return (Bank) fos.readObject();
|
return (Bank) ooi.readObject(); // schauen welche Exceptions geworfen werden
|
||||||
} catch (ClassNotFoundException e) {
|
} catch (ClassNotFoundException e) {
|
||||||
// TODO Auto-generated catch block
|
// TODO Auto-generated catch block
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
|
|
@ -0,0 +1,50 @@
|
||||||
|
package persistence;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.io.OutputStream;
|
||||||
|
|
||||||
|
public class BankSerializer2 {
|
||||||
|
|
||||||
|
|
||||||
|
File inFile = new File ("C:/Users/mehta/OneDrive/Masaüstü/PR1_Inhalt.txt");
|
||||||
|
File outFile = new File ("C:/Users/mehta/OneDrive/Masaüstü/PR1_Inhalt-test.txt");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public static void inFileStream(File in, File out) {
|
||||||
|
|
||||||
|
InputStream inStream= null;
|
||||||
|
OutputStream outStream = null;
|
||||||
|
|
||||||
|
try {
|
||||||
|
inStream = new FileInputStream(in);
|
||||||
|
outStream = new FileOutputStream(out);
|
||||||
|
|
||||||
|
int input;
|
||||||
|
while((input = inStream.read())!= -1 ){
|
||||||
|
outStream.write(input);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (FileNotFoundException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
catch(IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
|
||||||
|
}finally {
|
||||||
|
try {
|
||||||
|
inStream.close();
|
||||||
|
outStream.close();
|
||||||
|
|
||||||
|
}catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue