diff --git a/Code/Steiner/giroKonto/bin/App.class b/Code/Steiner/giroKonto/bin/App.class index b468243..5d59bd6 100644 Binary files a/Code/Steiner/giroKonto/bin/App.class and b/Code/Steiner/giroKonto/bin/App.class differ diff --git a/Code/Steiner/giroKonto/bin/Girokonto.class b/Code/Steiner/giroKonto/bin/Girokonto.class new file mode 100644 index 0000000..6f3a99b Binary files /dev/null and b/Code/Steiner/giroKonto/bin/Girokonto.class differ diff --git a/Code/Steiner/giroKonto/bin/Konto.class b/Code/Steiner/giroKonto/bin/Konto.class index 4ecc740..d8f6edd 100644 Binary files a/Code/Steiner/giroKonto/bin/Konto.class and b/Code/Steiner/giroKonto/bin/Konto.class differ diff --git a/Code/Steiner/giroKonto/src/App.java b/Code/Steiner/giroKonto/src/App.java index c964498..dcb0827 100644 --- a/Code/Steiner/giroKonto/src/App.java +++ b/Code/Steiner/giroKonto/src/App.java @@ -1,16 +1,33 @@ public class App { - public static void main(String[] args) throws Exception { - // Aufgabe 1 - System.out.println("Aufgabe 1: \n"); + public static void main(String[] args) { + // Aufgabe 1: Konto + System.out.println("Aufgabe 1: Konto\n"); - Konto konto1 = new Konto("0000000001", 1000); - System.out.println(konto1.toString()); - konto1.einzahlen(500); - konto1.abheben(750); - System.out.println("\nDaten nach transaktionen: "); - System.out.println(konto1.toString()); + // Create Konto object + Konto konto = new Konto("0000000001", 1000.0); + System.out.println("Initiales Konto:"); + System.out.println(konto); - // Aufgabe 2 - System.out.println("Aufgabe 2"); + // Perform transactions + konto.einzahlen(500.0); + konto.auszahlen(750.5); + + // Print final state + System.out.println("\nKonto nach Transaktionen:"); + System.out.println(konto); + + // Aufgabe 2: Girokonto + System.out.println("\nAufgabe 2: Girokonto\n"); + + // Create Girokonto object + Girokonto gk = new Girokonto("0000000001", 10000.0, 1000.0); + + // Test withdrawals and deposits + gk.auszahlen(11000.0); // Should succeed + System.out.println("Kontostand: " + gk.getKontostand()); + + gk.einzahlen(11000.0); // Deposit + gk.auszahlen(11001.0); // Should fail (exceeds limit) + System.out.println("Kontostand: " + gk.getKontostand()); } } diff --git a/Code/Steiner/giroKonto/src/Girokonto.java b/Code/Steiner/giroKonto/src/Girokonto.java new file mode 100644 index 0000000..814c642 --- /dev/null +++ b/Code/Steiner/giroKonto/src/Girokonto.java @@ -0,0 +1,29 @@ +public class Girokonto extends Konto { + private double limit; + + // Constructor + public Girokonto(String kontonummer, double kontostand, double limit) { + super(kontonummer, kontostand); + this.limit = limit; + } + + // Getter for limit + public double getLimit() { + return limit; + } + + // Setter for limit + public void setLimit(double limit) { + this.limit = limit; + } + + // Overridden auszahlen method + @Override + public void auszahlen(double betrag) { + if (getKontostand() - betrag >= -limit) { + super.auszahlen(betrag); + } else { + System.out.println("Fehler: Kreditlimit überschritten!"); + } + } +} diff --git a/Code/Steiner/giroKonto/src/Konto.java b/Code/Steiner/giroKonto/src/Konto.java index bf9ac24..4ccf52e 100644 --- a/Code/Steiner/giroKonto/src/Konto.java +++ b/Code/Steiner/giroKonto/src/Konto.java @@ -2,39 +2,38 @@ public class Konto { private String kontonummer; private double kontostand; - public Konto(String kontonummer, int kontostand) { - if (kontonummer.length() == 10) { - this.kontonummer = kontonummer; - this.kontostand = kontostand; - } else - System.out.println("Es ist fehler beim erstellen des Konto aufgetreten"); - } - - public String getKontonummer() { - return kontonummer; + // Constructor + public Konto(String kontonummer, double kontostand) { + this.kontonummer = kontonummer; + this.kontostand = kontostand; } + // Getter for kontostand public double getKontostand() { return kontostand; } - public void abheben(double betrag) { - if (kontostand >= 0) { - this.kontostand -= betrag; - } else - System.out.println("Fehlermeldung #1225"); + // Getter for kontonummer + public String getKontonummer() { + return kontonummer; } + // Method to deposit money public void einzahlen(double betrag) { - if (kontostand >= 0) { - this.kontostand += betrag; - } else - System.out.println("Fehlermeldung #5221"); + kontostand += betrag; + } + + // Method to withdraw money + public void auszahlen(double betrag) { + if (kontostand >= betrag) { + kontostand -= betrag; + } else { + System.out.println("Fehler: Nicht genügend Geld auf dem Konto!"); + } } @Override public String toString() { - return "Konto [Kontonummer=" + kontonummer + ", Kontostand=" + kontostand + "CHF]"; + return "Konto [Kontonummer=" + kontonummer + ", Kontostand=" + kontostand + "]"; } - }