exercice compte bancaire java classes exo-corrigé
Publié le 13 février 2017 par Jozef
Exercice : Comptes Bancaires :- Un compte bancaire possède à tout moment une donnée : son solde. Ce solde peut être positif (compte créditeur) ou négatif (compte débiteur).
- Chaque compte est caractérisé par un code incrémenté automatiquement.
- A sa création, un compte bancaire a un solde nul et un code incrémenté.
- Il est aussi possible de créer un compte en précisant son solde initial.
- Utiliser son compte consiste à pouvoir y faire des dépôts et des retraits. Pour ces deux opérations, il faut connaître le montant de l'opération.
- L'utilisateur peut aussi consulter le solde de son compte par la méthode toString().
- Un compte Epargne est un compte bancaire qui possède en plus un champ « TauxInterêt =6» et une méthode calculIntérêt() qui permet de mettre à jour le solde en tenant compte des interêts.
- Un ComptePayant est un compte bancaire pour lequel chaque opération de retrait et de varsement est payante et vaut 5 dh
Questions :- Faire le diagramme des classes
- Définir la classe CompteBancaire .
- Définir la classe CompteEpargne.
- Définir la classe ComptePayant.
- Définir une classe contenant la fonction main() permettant de tester les classes CompteBancaire et CompteEpargne avec les actions suivantes:
o Créer une instance de la classe CompteBancaire , une autre de la classe CompteEpargne et une instance de la classe ComptePayant
o Faire appel à la méthode deposer() de chaque instance pour déposer une somme quelconque dans ces comptes.
o Faire appel à la méthode retirer() de chaque instance pour retirer une somme quelconque de ces comptes.
o Faire appel à la méthode calculInterêt() du compte Epargne.
o Afficher le solde des 3 comptes.
- Diagramme de classes :- Classe CompteBancairepublic class CompteB { int code; float solde; static int nbComptes=0; public CompteB(float s){ solde=s; ++nbComptes; code=nbComptes; } public CompteB(){ this(0); } public void verser(float mt){ solde=solde+mt; } public void retirer(float mt){ solde-=mt; } public String toString(){ return ("code="+code+ "Solde="+solde); }- }Classe CompteEpargne :public class CompteE extends CompteB { float taux=6; public CompteE(float s){ super(s); } public CompteE(){ super(0); } public void calculInterets(){ solde=solde*(1+taux/100); } public String toString(){ return "Compte Epargne"+super.toString()+ "taux="+taux; }}- Classe Payant :public class CompteP extends CompteB { public CompteP(float s){ super(s); } public CompteP(){ super(0); } public void verser(float mt){ //solde=solde+mt; //solde=solde-5; super.verser(mt); super.retirer(5); } public void retirer(float mt){ //solde=solde-mt; //solde=solde-5; super.retirer(mt); super.retirer(5); } public String toString(){ return "Compte Payant"+super.toString(); }}- Classe TestCompte :public class TestCompte { public static void main(String[] args) { CompteB c1=new CompteB(5000); CompteE c2=new CompteE(55000); CompteP c3=new CompteP(); c1.verser(6000); c1.retirer(4000); System.out.println(c1.toString()); c2.verser(3300); c2.retirer(2000); System.out.println(c2); c2.calculInterets(); System.out.println(c2); c3.verser(2000); System.out.println(c3.toString()); }}Résultat de l’exécution :code=1Solde=7000.0Compte Epargnecode=2Solde=56300.0taux=6.0Compte Epargnecode=2Solde=59677.996taux=6.0Compte Payantcode=3Solde=1995.0