Menu
Coddy logo textTech

Podsumowanie — menedżer kont bankowych

Część sekcji Programowanie obiektowe ścieżki Java w Coddy. Lekcja 14 z 87.

challenge icon

Wyzwanie

Łatwy

Zbudujesz kompletny system BankAccount, który łączy wszystko, czego nauczyłeś się o hermetyzacji, modyfikatorach dostępu, getterach, setterach i słowie kluczowym final.

Utworzysz dwa pliki, aby uporządkować swój kod:

  • BankAccount.java: Zaprojektuj bezpieczną klasę konta bankowego, która chroni wrażliwe dane finansowe:
    • Niezmienny numer konta, którego nie można zmienić po utworzeniu konta
    • Prywatne saldo, które zaczyna się od 0.0 i można je modyfikować wyłącznie za pomocą kontrolowanych metod
    • Prywatne imię i nazwisko właściciela, które można pobrać, ale nie zmienić bezpośrednio
    • Konstruktor przyjmujący numer konta oraz imię i nazwisko właściciela
    • Getter dla numeru konta
    • Getter dla imienia i nazwiska właściciela
    • Getter dla salda
    • Metodę deposit(double amount), która dodaje kwotę do salda tylko wtedy, gdy jest dodatnia; zwraca true w przypadku powodzenia lub false, jeśli operacja zostanie odrzucona
    • Metodę withdraw(double amount), która odejmuje kwotę od salda tylko wtedy, gdy jest dodatnia ORAZ dostępne są wystarczające środki; zwraca true w przypadku powodzenia lub false, jeśli operacja zostanie odrzucona
    • Metodę getAccountSummary(), która zwraca: "Account [accountNumber] | Owner: [ownerName] | Balance: $[balance]" (saldo sformatowane do 2 miejsc po przecinku)
  • Main.java: Utwórz obiekt BankAccount i wykonaj serię transakcji. Otrzymasz pięć danych wejściowych: numer konta, imię i nazwisko właściciela, kwotę wpłaty, kwotę pierwszej wypłaty oraz kwotę drugiej wypłaty. Wypisz cztery wiersze:
    • Wynik wpłaty: Deposit: true lub Deposit: false
    • Wynik pierwszej wypłaty: Withdraw 1: true lub Withdraw 1: false
    • Wynik drugiej wypłaty: Withdraw 2: true lub Withdraw 2: false
    • Końcowe podsumowanie konta

Otrzymasz kolejno pięć danych wejściowych: accountNumber (String), ownerName (String), depositAmount (double), withdrawAmount1 (double), withdrawAmount2 (double).

Aby sformatować saldo do 2 miejsc po przecinku, możesz użyć String.format("%.2f", balance).

REQUIRED OUTPUT FORMAT: [Twoja przetłumaczona treść tutaj]

Spróbuj swoich sił

import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // Wczytaj dane wejściowe
        String accountNumber = scanner.nextLine();
        String ownerName = scanner.nextLine();
        double depositAmount = scanner.nextDouble();
        double withdrawAmount1 = scanner.nextDouble();
        double withdrawAmount2 = scanner.nextDouble();
        
        // TODO: Utwórz obiekt BankAccount z accountNumber i ownerName
        
        // TODO: Wpłać środki i wypisz wynik jako "Deposit: true" lub "Deposit: false"
        
        // TODO: Wykonaj pierwszą wypłatę i wypisz wynik jako "Withdraw 1: true" lub "Withdraw 1: false"
        
        // TODO: Wykonaj drugą wypłatę i wypisz wynik jako "Withdraw 2: true" lub "Withdraw 2: false"
        
        // TODO: Wypisz podsumowanie konta
    }
}

Wszystkie lekcje w sekcji Programowanie obiektowe

Poćwicz samodzielnie: Kompilator Java online