administration et sécurite des réseaux informatiques

administration et sécurite des réseaux informatiques technicien supérieur de compétence.

lundi 13 février 2017

exercice compte bancaire java classes exo-corrigé


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 CompteBancaire
public 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.0
Compte Epargnecode=2Solde=56300.0taux=6.0
Compte Epargnecode=2Solde=59677.996taux=6.0
Compte Payantcode=3Solde=1995.0

1 commentaire: