[Précédent] |
7.5 |
Banque - Corrigé | Niveau 2 |
||
Fichiers: |
Banque2.java, Banque3.java |
Le code complet est donné ci-dessous:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
/* Version orientée objets de Banque1. */ class Banque2 { public static void main(String[] args) { // Variables locales pour les taux d'intérets (afin d'éviter de // répéter les mêmes chiffres pour chaque client): double taux1 = 0.01; double taux2 = 0.02; // Construction des deux clients: Client c1 = new Client("Pedro", "Genève", taux1, 1000.0, taux2, 2000.0); Client c2 = new Client("Alexandra", "Lausanne", taux1, 3000.0, taux2, 4000.0); System.out.println("Donnees avant le bouclement des comptes:"); c1.afficher(); c2.afficher(); // Bouclement des comptes des deux clients: c1.boucler(); c2.boucler(); System.out.println("Donnees apres le bouclement des comptes:"); c1.afficher(); c2.afficher(); } } class Client { private String nom; private String ville; private Compte cpt1; private Compte cpt2; public Client(String nom, String ville, double taux1, double solde1, double taux2, double solde2) { this.nom = nom; this.ville = ville; // Construction d'un compte privé: cpt1 = new Compte(taux1, solde1); // Construction d'un compte d'épargne: cpt2 = new Compte(taux2, solde2); } public void afficher() { // Cette méthode affiche les données du client System.out.println(" Client " + nom + " de " + ville); System.out.println(" Compte prive: " + cpt1.getSolde() + " francs"); System.out.println(" Compte d'epargne: " + cpt2.getSolde() + " francs"); } public void boucler() { // Cette méthode boucle les deux comptes du client cpt1.boucler(); cpt2.boucler(); } } class Compte { private double taux; private double solde; public Compte(double taux, double solde) { this.taux = taux; this.solde = solde; } public double getSolde() { return solde; } public void boucler() { // Cette méthode ajoute les intérets au solde double interets = taux * solde; solde = solde + interets; } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
class Banque3 { public static void main(String[] args) { // ... comme avant // Construction des deux clients, notez l'argument booléen: // Nouveau (parmètre booléen) Client c1 = new Client("Pedro", "Geneve", taux1, 1000.0, taux2, 2000.0, true); Client c2 = new Client("Alexandra", "Lausanne", taux1, 3000.0, taux2, 4000.0, false); // ... comme avant } } class Client { private String nom; private String ville; private Compte cpt1, cpt2; // Nouvelle variable d'instance private boolean masculin; // Méthode constructeur, notez le paramètre booléen: public Client(String nom, String ville, double taux1, double solde1, double taux2, double solde2, boolean masculin) { // Nouveau this.nom = nom; this.ville = ville; cpt1 = new Compte(taux1, solde1); cpt2 = new Compte(taux2, solde2); // Nouveau this.masculin = masculin; } public void afficher() { // Nouvelle instruction if..else if (masculin) { System.out.print(" Client "); } else { System.out.print(" Cliente "); } System.out.println(nom + " de " + ville); System.out.println(" Compte prive: " + cpt1.getSolde() + " francs"); System.out.println(" Compte d'epargne: " + cpt2.getSolde() + " francs"); } // ... comme avant } class Compte { // ... comme avant } |
[Précédent] |