Menu
Coddy logo textTech

Riepilogo - Gestore di conti bancari

Fa parte della sezione Programmazione orientata agli oggetti del percorso Java di Coddy. Lezione 14 di 87.

challenge icon

Sfida

Facile

Costruiremo un sistema completo BankAccount che riunisce tutto ciò che hai imparato sull'incapsulamento, i modificatori di accesso, i getter, i setter e la parola chiave final.

Creerai due file per organizzare il codice:

  • BankAccount.java: Progetta una classe per un conto bancario sicuro che protegga i dati finanziari sensibili:
    • Un numero di conto immutabile che non può mai cambiare una volta creato il conto
    • Un saldo privato che parte da 0.0 e può essere modificato solo tramite metodi controllati
    • Il nome privato del titolare, che può essere recuperato ma non modificato direttamente
    • Un costruttore che accetta il numero di conto e il nome del titolare
    • Un getter per il numero di conto
    • Un getter per il nome del titolare
    • Un getter per il saldo
    • Un metodo deposit(double amount) che aggiunge denaro al saldo solo se l'importo è positivo, restituendo true in caso di successo o false se l'operazione viene rifiutata
    • Un metodo withdraw(double amount) che sottrae denaro dal saldo solo se l'importo è positivo E sono disponibili fondi sufficienti, restituendo true in caso di successo o false se l'operazione viene rifiutata
    • Un metodo getAccountSummary() che restituisce: "Account [accountNumber] | Owner: [ownerName] | Balance: $[balance]" (saldo formattato con 2 cifre decimali)
  • Main.java: Crea un BankAccount ed esegui una serie di transazioni. Riceverai cinque input: numero di conto, nome del titolare, importo del deposito, importo del primo prelievo e importo del secondo prelievo. Stampa quattro righe:
    • Il risultato del deposito: Deposit: true o Deposit: false
    • Il risultato del primo prelievo: Withdraw 1: true o Withdraw 1: false
    • Il risultato del secondo prelievo: Withdraw 2: true o Withdraw 2: false
    • Il riepilogo finale del conto

Riceverai cinque input, in quest'ordine: accountNumber (String), ownerName (String), depositAmount (double), withdrawAmount1 (double), withdrawAmount2 (double).

Per formattare il saldo con 2 cifre decimali, puoi usare String.format("%.2f", balance).

Provalo tu

import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // Leggi gli input
        String accountNumber = scanner.nextLine();
        String ownerName = scanner.nextLine();
        double depositAmount = scanner.nextDouble();
        double withdrawAmount1 = scanner.nextDouble();
        double withdrawAmount2 = scanner.nextDouble();
        
        // TODO: Crea un oggetto BankAccount con accountNumber e ownerName
        
        // TODO: Effettua un deposito e stampa il risultato come "Deposit: true" o "Deposit: false"
        
        // TODO: Effettua il primo prelievo e stampa il risultato come "Withdraw 1: true" o "Withdraw 1: false"
        
        // TODO: Effettua il secondo prelievo e stampa il risultato come "Withdraw 2: true" o "Withdraw 2: false"
        
        // TODO: Stampa il riepilogo del conto
    }
}

Tutte le lezioni di Programmazione orientata agli oggetti

Esercitati da solo: Compilatore Java online