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 BankAccount complet qui rassemble tout ce que vous avez appris sur l'encapsulation, les modificateurs d'accès, les getters, les setters 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é que par des 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 getter pour le numéro de compte
    • Un getter pour le nom du propriétaire
    • Un getter pour le solde
    • Une méthode deposit(double amount) qui ajoute au solde uniquement si le montant est positif, retournant true en cas de succès ou false s'il est rejeté
    • Une méthode withdraw(double amount) qui soustrait du solde uniquement si le montant est positif ET que les fonds sont suffisants, retournant true en cas de succès ou false s'il est rejeté
    • Une méthode getAccountSummary() qui retourne : "Account [accountNumber] | Owner: [ownerName] | Balance: $[balance]" (solde formaté à 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 montant du premier retrait et le montant du deuxième 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 deuxième retrait : Withdraw 2: true ou Withdraw 2: false
    • Le résumé final du compte

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

Pour formater le solde à 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