🏦 Exercice : Gestion d’un compte bancaire
🎯 Objectif du projet
Créer une petite application console Java qui simule la gestion des comptes bancaires d’une
banque (dépôt, retrait, solde, etc.), en appliquant les principes de la programmation
orientée objet (POO).
🧩 1. Contexte
Tu travailles pour une banque locale nommée “Umoja Bank”.
Elle souhaite une application simple pour gérer les opérations de base d’un compte client :
Création d’un compte avec nom du client et solde initial
Dépôt d’argent
Retrait d’argent
Affichage des informations du compte
⚙️ 2. Ce que tu dois faire
Crée un projet Java dans IntelliJ appelé GestionBanque.
Dans le dossier src, crée 3 classes principales :
🧩 a) Classe CompteBancaire
Représente un compte bancaire.
Attributs :
private String numeroCompte;
private String nomClient;
private double solde;
Méthodes :
deposer(double montant)
retirer(double montant)
afficherInfos()
Règles :
On ne peut pas retirer plus que le solde.
Si un retrait est supérieur au solde, un message d’erreur doit s’afficher.
🧩 b) Classe Banque
Gère une liste de comptes.
Attributs :
private String nomBanque;
private ArrayList<CompteBancaire> comptes;
Méthodes :
ajouterCompte(CompteBancaire compte)
rechercherCompte(String numeroCompte)
afficherTousLesComptes()
💡 Tu utiliseras une ArrayList pour stocker les comptes.
🧩 c) Classe Main
Contient le point d’entrée du programme et un menu pour interagir avec la banque.
Exemple de menu :
--- UMOJA BANK ---
1. Créer un nouveau compte
2. Déposer de l’argent
3. Retirer de l’argent
4. Afficher les informations d’un compte
5. Afficher tous les comptes
6. Quitter
👉 Utilise Scanner pour lire les choix de l’utilisateur.
💡 3. Exemple d’exécution
--- UMOJA BANK ---
1. Créer un nouveau compte
Choisissez une option : 1
Nom du client : Plamedi
Numéro du compte : 001
Solde initial : 2000
✅ Compte créé avec succès !
2. Déposer de l’argent
Numéro du compte : 001
Montant : 500
✅ Dépôt effectué. Nouveau solde : 2500
3. Retirer de l’argent
Montant : 1000
✅ Retrait effectué. Nouveau solde : 1500
4. Afficher les infos
Compte n°001 | Client : Plamedi | Solde : 1500
🧩 Concepts de POO que tu pratiqueras
Encapsulation (attributs privés + getters/setters)
Constructeurs
Objets et classes
Listes d’objets (ArrayList)
Gestion d’erreurs simples
Interaction utilisateur avec Scanner
🚗 PROJET JAVA – GESTION INTELLIGENTE D’UN PARC
AUTOMOBILE
🎯 Objectif général
Développer une application console (ou graphique si tu veux aller plus loin) permettant à
une entreprise de gérer entièrement son parc de véhicules, ses chauffeurs, et ses locations
de véhicules à des clients.
🏢 Contexte du projet
La société “AutoFleet Services” gère un grand nombre de véhicules qu’elle met à disposition
pour la location et la gestion interne (livraisons, déplacements, etc.).
Elle souhaite une application Java pour :
gérer ses véhicules, ses chauffeurs et ses clients,
enregistrer et suivre les locations,
afficher des statistiques (revenus, véhicules disponibles, etc.).
🧩 Exigences fonctionnelles principales
L’application doit permettre de :
1. Gérer les véhicules
o Ajouter, modifier, supprimer un véhicule.
o Chaque véhicule a : un numéro d’immatriculation, une marque, un modèle,
une année, un kilométrage, un prix de location par jour, un statut (disponible
ou loué).
2. Gérer les chauffeurs
o Ajouter, modifier, supprimer un chauffeur.
o Chaque chauffeur a : un identifiant, un nom, un permis, un statut (disponible
/ en mission).
3. Gérer les clients
o Ajouter, modifier, supprimer un client.
o Chaque client a : un code, un nom, un numéro de téléphone et un historique
de locations.
4. Gérer les locations
o Louer un véhicule à un client pour une durée donnée.
o Calculer automatiquement le coût de location selon le nombre de jours et le
tarif du véhicule.
o Marquer le véhicule comme “loué”.
o Lorsqu’une location se termine, marquer le véhicule comme “disponible”.
5. Afficher les informations
o Liste des véhicules disponibles
o Liste des véhicules actuellement loués
o Liste des locations en cours ou terminées
o Statistiques globales : nombre total de véhicules, nombre loués, revenus
générés, etc.
🧩 Contraintes techniques
Tu dois appliquer les principes de la POO :
o Encapsulation
o Héritage (exemple : Vehicule → Voiture, Moto, Camion)
o Polymorphisme
o Classes de gestion / services
Utilise les collections Java (ArrayList, HashMap, etc.).
Tu peux ajouter une sérialisation (sauvegarde des données dans un fichier).
L’application doit être entièrement en console (ou graphique si tu veux aller plus
loin).
📦 Structure suggérée (à toi de concevoir)
Tu dois imaginer et créer les classes nécessaires.
Par exemple (à titre d’idée, tu peux changer) :
Vehicule, Voiture, Moto, Camion
Client
Chauffeur
Location
GestionVehicules
GestionClients
GestionLocations
Main (point d’entrée du programme)
🧩 Fonctionnalités bonus (pour aller plus loin)
Si tu veux te challenger davantage :
Ajouter la possibilité d’enregistrer les données dans un fichier texte ou binaire.
Générer un rapport des locations.
Trier ou rechercher les véhicules selon un critère (prix, kilométrage…).
Gérer un système de login admin/client.
Ajouter un menu interactif complet avec navigation.
⚙️ Résultat attendu
Ton programme doit pouvoir être lancé depuis la console, et permettre :
la création et la gestion complète des entités (véhicules, clients, chauffeurs,
locations),
le calcul automatique des coûts de location,
l’affichage dynamique des informations et statistiques.
🧩 Livrables
Ton code source complet (.java)
Une structure de projet claire (src/, packages, etc.)
Une démonstration en console du fonctionnement (menu, entrées utilisateur)
Si tu veux aller jusqu’au bout : un petit rapport (texte ou PDF) expliquant la
conception de ton programme.