Menu
Coddy logo textTech

Rückblick – Bankkonto-Manager

Teil des Abschnitts Objektorientierte Programmierung der Java-Journey von Coddy — Lektion 14 von 87.

challenge icon

Aufgabe

Einfach

Lassen Sie uns ein vollständiges BankAccount-System bauen, das alles zusammenführt, was Sie über Kapselung, Zugriffsmodifikatoren, Getter, Setter und das Schlüsselwort final gelernt haben.

Sie werden zwei Dateien erstellen, um Ihren Code zu organisieren:

  • BankAccount.java: Entwerfen Sie eine sichere Bankkontoklasse, die sensible Finanzdaten schützt:
    • Eine unveränderliche Kontonummer, die sich nach der Erstellung des Kontos nie mehr ändern kann
    • Ein privater Kontostand (balance), der bei 0.0 beginnt und nur über kontrollierte Methoden geändert werden kann
    • Ein privater Name des Eigentümers (owner name), der abgerufen, aber nicht direkt geändert werden kann
    • Ein Konstruktor, der die Kontonummer und den Namen des Eigentümers entgegennimmt
    • Ein Getter für die Kontonummer
    • Ein Getter für den Namen des Eigentümers
    • Ein Getter für den Kontostand
    • Eine deposit(double amount)-Methode, die den Betrag nur dann zum Kontostand addiert, wenn der Betrag positiv ist, und true bei Erfolg oder false bei Ablehnung zurückgibt
    • Eine withdraw(double amount)-Methode, die den Betrag nur dann vom Kontostand abzieht, wenn der Betrag positiv ist UND ausreichend Guthaben vorhanden ist, und true bei Erfolg oder false bei Ablehnung zurückgibt
    • Eine getAccountSummary()-Methode, die Folgendes zurückgibt: "Account [accountNumber] | Owner: [ownerName] | Balance: $[balance]" (Kontostand auf 2 Dezimalstellen formatiert)
  • Main.java: Erstellen Sie ein BankAccount und führen Sie eine Reihe von Transaktionen durch. Sie erhalten fünf Eingaben: Kontonummer, Name des Eigentümers, Einzahlungsbetrag, erster Auszahlungsbetrag und zweiter Auszahlungsbetrag. Geben Sie vier Zeilen aus:
    • Das Ergebnis der Einzahlung: Deposit: true oder Deposit: false
    • Das Ergebnis der ersten Auszahlung: Withdraw 1: true oder Withdraw 1: false
    • Das Ergebnis der zweiten Auszahlung: Withdraw 2: true oder Withdraw 2: false
    • Die finale Kontozusammenfassung

Sie erhalten fünf Eingaben in dieser Reihenfolge: accountNumber (String), ownerName (String), depositAmount (double), withdrawAmount1 (double), withdrawAmount2 (double).

Um den Kontostand auf 2 Dezimalstellen zu formatieren, können Sie String.format("%.2f", balance) verwenden.

Probier es selbst

import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // Eingaben lesen
        String accountNumber = scanner.nextLine();
        String ownerName = scanner.nextLine();
        double depositAmount = scanner.nextDouble();
        double withdrawAmount1 = scanner.nextDouble();
        double withdrawAmount2 = scanner.nextDouble();
        
        // TODO: Erstelle ein BankAccount-Objekt mit accountNumber und ownerName
        
        // TODO: Führe die Einzahlung durch und gib das Ergebnis als "Deposit: true" oder "Deposit: false" aus
        
        // TODO: Führe die erste Abhebung durch und gib das Ergebnis als "Withdraw 1: true" oder "Withdraw 1: false" aus
        
        // TODO: Führe die zweite Abhebung durch und gib das Ergebnis als "Withdraw 2: true" oder "Withdraw 2: false" aus
        
        // TODO: Gib die Kontozusammenfassung aus
    }
}

Alle Lektionen in Objektorientierte Programmierung