diff --git a/Programmierung2/.classpath b/Programmierung2/.classpath
index 20a8b72..ca549ef 100644
--- a/Programmierung2/.classpath
+++ b/Programmierung2/.classpath
@@ -5,6 +5,11 @@
+
+
+
+
+
diff --git a/Programmierung2/src/BankSystemGUI/BankController.java b/Programmierung2/src/BankSystemGUI/BankController.java
new file mode 100644
index 0000000..f1da3c3
--- /dev/null
+++ b/Programmierung2/src/BankSystemGUI/BankController.java
@@ -0,0 +1,50 @@
+package BankSystemGUI;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.PrintWriter;
+
+public class BankController {
+ private File file;
+ BankController(){
+ file = new File("C:\\Users\\obaya\\git\\Programmierung2\\Programmierung2\\src\\BankSystemGUI\\Kunde.txt");
+ if (!file.exists()) {
+ try {
+ if (file.createNewFile()) // createNewFile() gibt boolean zurück,ob der File ergolgreich erstellt wurde
+ // oder nicht
+ System.out.println("Datei erstellt: " + file.getName()); // der File muss im Pfad nicht existieren,
+ // damit es erstellt wurde
+ } catch (IOException d) {
+ d.printStackTrace();
+ }
+ }
+ }
+
+ public BankSystem addKunde(String name,String vorname,String password,String email) {
+ BankSystem b1 = new BankSystem(name,vorname,password,email);
+ saveKunde(b1);
+ return b1;
+ }
+
+
+
+ public void saveKunde(BankSystem b1) {
+ try (PrintWriter write = new PrintWriter(new FileWriter(file))) {
+ write.println("ID: " + b1.getId());
+ write.println("Vorname: " + b1.getVorname());
+ write.println("Nachname: " + b1.getName());
+ write.println("Password: " + b1.getPassword());
+ write.println("Email: " + b1.getEmail());
+ write.println("kontoStand " + b1.getKontoStand());
+ write.println(); // Leere Zeile zwischen Einträgen
+ write.flush();
+ write.close();
+ System.out.println(b1.toString());
+ } catch (IOException e) {
+ e.printStackTrace();
+
+ }
+ }
+}
+
diff --git a/Programmierung2/src/BankSystemGUI/BankSystem.java b/Programmierung2/src/BankSystemGUI/BankSystem.java
new file mode 100644
index 0000000..8eedcd9
--- /dev/null
+++ b/Programmierung2/src/BankSystemGUI/BankSystem.java
@@ -0,0 +1,93 @@
+package BankSystemGUI;
+
+import java.awt.Dimension;
+import java.awt.FlowLayout;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+import javax.swing.JFrame;
+import javax.swing.JTextField;
+// Recourses Klasse (Model)
+public class BankSystem {
+ private String name;
+ private String vorname;
+ private String password;
+ private String email;
+ private double kontoStand;
+ private int Id;
+ private static int IDCounter = 0;
+
+ BankSystem(){}
+ BankSystem(String name,String vorname,String password,String email){
+ this.name = name;
+ this.vorname = vorname;
+ this.password = password;
+ this.email = email;
+ this.kontoStand = 0;
+ this.Id = ++IDCounter;
+
+ }
+
+ public double einzahlung(double wert) {
+
+ return this.kontoStand += wert;
+ }
+
+
+
+
+ public int loadIDCounter() {
+ return Id;
+ }
+
+ public String getEmail() {
+ return email;
+ }
+
+ public void setEmail(String email) {
+ this.email = email;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getVorname() {
+ return vorname;
+ }
+
+ public void setVorname(String vorname) {
+ this.vorname = vorname;
+ }
+
+ public String getPassword() {
+ return password;
+ }
+
+ public void setPassword(String password) {
+ this.password = password;
+ }
+
+
+
+ public double getKontoStand() {
+ return kontoStand;
+ }
+
+
+ public int getId() {
+ return Id;
+ }
+
+
+ @Override
+ public String toString() {
+ return "BankSystem [name=" + name + ", vorname=" + vorname + ", password=" + password + ", kontoStand="
+ + kontoStand + ", Id=" + Id + "]";
+ }
+
+}
diff --git a/Programmierung2/src/BankSystemGUI/BankSystemTest.java b/Programmierung2/src/BankSystemGUI/BankSystemTest.java
new file mode 100644
index 0000000..9002043
--- /dev/null
+++ b/Programmierung2/src/BankSystemGUI/BankSystemTest.java
@@ -0,0 +1,14 @@
+package BankSystemGUI;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import org.junit.jupiter.api.Test;
+
+public class BankSystemTest {
+
+ @Test
+ public void testEinzahlung() {
+ BankSystem test = new BankSystem();
+ double x = test.einzahlung(100);
+ assertEquals(100, x, 0.001); // Hier wird überprüft, ob der Kontostand 100.0 ist
+ }
+}
diff --git a/Programmierung2/src/BankSystemGUI/Hauptfenster.java b/Programmierung2/src/BankSystemGUI/Hauptfenster.java
new file mode 100644
index 0000000..315267a
--- /dev/null
+++ b/Programmierung2/src/BankSystemGUI/Hauptfenster.java
@@ -0,0 +1,57 @@
+package BankSystemGUI;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.util.Scanner;
+
+import javax.swing.JLabel;
+
+public class Hauptfenster extends BankSystem {
+ private Window fenster;
+ private Scanner scan;
+
+ Hauptfenster() throws FileNotFoundException{
+ File fr = new File("C:\\Users\\obaya\\git\\Programmierung2\\Programmierung2\\src\\BankSystemGUI\\Kunde.txt");
+ scan = new Scanner(fr);
+ String vorname = null;
+ String name = null;
+ double kontoStand = 0.0;
+ while (scan.hasNextLine()) {
+ String line = scan.nextLine();
+ // Prüfen, ob die Zeile den "Vorname" enthält
+ if (line.startsWith("Vorname:"))
+ vorname = line.split(":")[1].trim(); // Den Namen extrahieren
+
+ if (line.startsWith("Nachname: "))
+ name = line.split(":")[1].trim();
+
+ if (line.startsWith("kontoStand ")) {
+ String value = line.split(" ")[1].trim();
+ kontoStand = Double.parseDouble(value);
+ break; // Wir haben den Namen gefunden, also beenden wir die Schleife
+ }
+
+
+
+ }
+
+ fenster = new Window();
+ fenster.setTitle("Haupseite");
+
+ JLabel willkommennachricht = new JLabel("Willkommen " + vorname + " " + name);
+ willkommennachricht.setBounds(10, 10, 200, 40);
+
+
+ JLabel konotstand = new JLabel("Deine Aktuelle Kontostand: " + kontoStand);
+ konotstand.setBounds(10,50 ,200 ,40 );
+
+
+ fenster.add(konotstand);
+ fenster.add(willkommennachricht);
+ }
+
+ public static void main(String[] args) throws FileNotFoundException {
+ Hauptfenster test = new Hauptfenster();
+ }
+
+}
diff --git a/Programmierung2/src/BankSystemGUI/Kunde.txt b/Programmierung2/src/BankSystemGUI/Kunde.txt
new file mode 100644
index 0000000..fb2ecf6
--- /dev/null
+++ b/Programmierung2/src/BankSystemGUI/Kunde.txt
@@ -0,0 +1,7 @@
+ID: 1
+Vorname: obai
+Nachname: albek
+Password: 12345
+Email: obay@gmail.com
+kontoStand 0.0
+
diff --git a/Programmierung2/src/BankSystemGUI/LogIn.java b/Programmierung2/src/BankSystemGUI/LogIn.java
new file mode 100644
index 0000000..d226d1d
--- /dev/null
+++ b/Programmierung2/src/BankSystemGUI/LogIn.java
@@ -0,0 +1,125 @@
+package BankSystemGUI;
+
+import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.GridLayout;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.PrintWriter;
+
+import javax.swing.JButton;
+import javax.swing.JFrame;
+import javax.swing.JLabel;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.swing.JTextField;
+
+public class LogIn extends JFrame implements ActionListener {
+ private JButton submit;
+ private File file;
+ private PrintWriter write;
+ private JTextField eingabeVorname;
+ private JTextField eingabenNachname;
+ private JTextField eingabenPassword;
+ private JTextField eingabeEmail;
+ private BankController controller;
+ private Window fenster;
+
+ LogIn() {
+ controller = new BankController();
+ fenster = new Window();
+ fenster.setTitle("log in Seite");
+
+ JLabel überschrift = new JLabel("loggen Sie sich ein: ");
+ überschrift.setBounds(10, 2, 120, 40);
+
+ JLabel vorname = new JLabel("Vorname: ");
+ vorname.setBounds(10, 50, 60, 10);
+ eingabeVorname = new JTextField();
+ eingabeVorname.setBounds(80, 50, 100, 20);
+
+ // setBounds(int x, int y, int width, int height)
+ JLabel nachname = new JLabel("nachname: ");
+ nachname.setBounds(10, 90, 100, 20);
+
+ eingabenNachname = new JTextField();
+ eingabenNachname.setBounds(80, 90, 100, 20);
+
+ JLabel password = new JLabel("password: ");
+ password.setBounds(10, 130, 100, 20);
+
+ eingabenPassword = new JTextField();
+ eingabenPassword.setBounds(80, 130, 100, 20);
+
+ JLabel email = new JLabel("Email: ");
+ email.setBounds(10, 170, 100, 20);
+
+ eingabeEmail = new JTextField();
+ eingabeEmail.setBounds(80, 170, 100, 20);
+
+ submit = new JButton("Submit");
+ submit.setBounds(10, 210, 100, 20);
+
+ submit.addActionListener(new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ try {
+ logUser();
+ } catch (IOException e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ }
+ }
+ });
+
+ fenster.add(überschrift);
+ fenster.add(vorname);
+ fenster.add(eingabeVorname);
+ fenster.add(nachname);
+ fenster.add(eingabenNachname);
+ fenster.add(password);
+ fenster.add(eingabenPassword);
+ fenster.add(email);
+ fenster.add(eingabeEmail);
+ fenster.add(submit);
+
+ }
+
+ public void logUser() throws IOException {
+ if (eingabeVorname.getText().isEmpty() || eingabenNachname.getText().isEmpty()
+ || eingabenPassword.getText().isEmpty() || eingabeEmail.getText().isEmpty())
+ JOptionPane.showMessageDialog(null, "Alle Felder sind erforderlich", "Fehler", JOptionPane.ERROR_MESSAGE);
+ else {
+ String vorname = eingabeVorname.getText();
+ String nachname = eingabenNachname.getText();
+ String password = eingabenPassword.getText();
+ String email = eingabeEmail.getText();
+
+ BankSystem kunde = controller.addKunde(nachname, vorname, password, email);
+ //JOptionPane.showMessageDialog(null, "Erfolgreich eingeloggt!", "Info", JOptionPane.INFORMATION_MESSAGE);
+ fenster.dispose();
+ }
+
+ }
+
+
+
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public static void main(String[] args) {
+
+
+ }
+
+}
+
+
+
diff --git a/Programmierung2/src/BankSystemGUI/Test.java b/Programmierung2/src/BankSystemGUI/Test.java
new file mode 100644
index 0000000..7e6d7c5
--- /dev/null
+++ b/Programmierung2/src/BankSystemGUI/Test.java
@@ -0,0 +1,18 @@
+package BankSystemGUI;
+
+import java.util.ArrayList;
+
+public class Test {
+
+ public static void main(String[] args) {
+
+ BankSystem b1 = new BankSystem("obai","albek","12345","obay@gmail.com");
+ System.out.println(b1.toString());
+ b1.einzahlung(100);
+ System.out.println(b1.getKontoStand());
+ System.out.println(b1.toString());
+//
+
+ }
+
+}
diff --git a/Programmierung2/src/BankSystemGUI/Window.java b/Programmierung2/src/BankSystemGUI/Window.java
new file mode 100644
index 0000000..0b5d874
--- /dev/null
+++ b/Programmierung2/src/BankSystemGUI/Window.java
@@ -0,0 +1,22 @@
+package BankSystemGUI;
+
+import java.awt.FlowLayout;
+import java.awt.GridLayout;
+
+import javax.swing.JFrame;
+
+public class Window extends JFrame {
+
+ public JFrame window;
+
+ Window(){
+
+ setSize(700, 700);
+ setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+ setLayout(null);
+ setVisible(true);
+
+ }
+
+
+}
diff --git a/Programmierung2/src/JunitTest/Einführung.java b/Programmierung2/src/JunitTest/Einführung.java
new file mode 100644
index 0000000..a8311e1
--- /dev/null
+++ b/Programmierung2/src/JunitTest/Einführung.java
@@ -0,0 +1,16 @@
+package JunitTest;
+
+public class Einführung {
+ /*White-Box && Black-Box was ist das?
+ * - Black-Box-Test: Du prüfst nur die Eingaben und Ausgaben, ohne den Code zu sehen oder zu verstehen. Es geht nur darum, ob die Software das Richtige tut.
+ * - White-Box-Test: Du schaust dir den Code genau an und prüfst, ob jede Zeile und jedes Detail korrekt funktioniert. Hier verstehst du den Code und testest ihn gezielt.
+ */
+ public static void main(String[] args) {
+
+ }
+
+ public int add(int a, int b) {
+ return a+b;
+ }
+
+}
diff --git a/Programmierung2/src/JunitTest/EinführungTest.java b/Programmierung2/src/JunitTest/EinführungTest.java
new file mode 100644
index 0000000..3b8c1c0
--- /dev/null
+++ b/Programmierung2/src/JunitTest/EinführungTest.java
@@ -0,0 +1,13 @@
+package JunitTest;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import org.junit.jupiter.api.Test;
+
+public class EinführungTest {
+
+ @Test
+ public void testAdd() {
+ Einführung e1 = new Einführung();
+ assertEquals(4, e1.add(2, 2));
+ }
+}
diff --git a/Programmierung2/src/module-info.java b/Programmierung2/src/module-info.java
index 616fb77..c369100 100644
--- a/Programmierung2/src/module-info.java
+++ b/Programmierung2/src/module-info.java
@@ -6,4 +6,6 @@
*/
module Programmierung2 {
requires java.desktop;
+ requires org.junit.jupiter.api;
+ requires junit;
}
\ No newline at end of file