Menu
Coddy logo textTech

Récapitulatif - Gestionnaire de compte bancaire

Fait partie de la section Programmation Orientée Objet du Journey Java de Coddy. Leçon 14 sur 87.

challenge icon

Défi

Facile

Construisons un système complet de BankAccount qui rassemble tout ce que vous avez appris sur l'encapsulation, les modificateurs d'accès, les accesseurs, les mutateurs et le mot-clé final.

Vous allez créer deux fichiers pour organiser votre code :

  • BankAccount.java : concevez une classe de compte bancaire sécurisée qui protège les données financières sensibles :
    • Un numéro de compte immuable qui ne peut jamais changer une fois le compte créé
    • Un solde privé qui commence à 0.0 et ne peut être modifié qu'au moyen de méthodes contrôlées
    • Un nom de propriétaire privé qui peut être récupéré, mais pas modifié directement
    • Un constructeur qui prend le numéro de compte et le nom du propriétaire
    • Un accesseur pour le numéro de compte
    • Un accesseur pour le nom du propriétaire
    • Un accesseur pour le solde
    • Une méthode deposit(double amount) qui ajoute le montant au solde uniquement si celui-ci est positif, en renvoyant true en cas de réussite ou false si l'opération est refusée
    • Une méthode withdraw(double amount) qui soustrait le montant du solde uniquement si celui-ci est positif ET que les fonds disponibles sont suffisants, en renvoyant true en cas de réussite ou false si l'opération est refusée
    • Une méthode getAccountSummary() qui renvoie : "Account [accountNumber] | Owner: [ownerName] | Balance: $[balance]" (solde formaté avec 2 décimales)
  • Main.java : créez un BankAccount et effectuez une série de transactions. Vous recevrez cinq entrées : le numéro de compte, le nom du propriétaire, le montant du dépôt, le premier montant du retrait et le second montant du retrait. Affichez quatre lignes :
    • Le résultat du dépôt : Deposit: true ou Deposit: false
    • Le résultat du premier retrait : Withdraw 1: true ou Withdraw 1: false
    • Le résultat du second retrait : Withdraw 2: true ou Withdraw 2: false
    • Le résumé final du compte

Vous recevrez cinq entrées dans l'ordre suivant : accountNumber (String), ownerName (String), depositAmount (double), withdrawAmount1 (double), withdrawAmount2 (double).

Pour formater le solde avec 2 décimales, vous pouvez utiliser String.format("%.2f", balance).

Essayez vous-même

import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // Lire les entrées
        String accountNumber = scanner.nextLine();
        String ownerName = scanner.nextLine();
        double depositAmount = scanner.nextDouble();
        double withdrawAmount1 = scanner.nextDouble();
        double withdrawAmount2 = scanner.nextDouble();
        
        // TODO: Créer un objet BankAccount avec accountNumber et ownerName
        
        // TODO: Effectuer le dépôt et afficher le résultat sous la forme "Deposit: true" ou "Deposit: false"
        
        // TODO: Effectuer le premier retrait et afficher le résultat sous la forme "Withdraw 1: true" ou "Withdraw 1: false"
        
        // TODO: Effectuer le deuxième retrait et afficher le résultat sous la forme "Withdraw 2: true" ou "Withdraw 2: false"
        
        // TODO: Afficher le résumé du compte
    }
}

Toutes les leçons de Programmation Orientée Objet

Entraînez-vous par vous-même : Compilateur Java en ligne