class Banque2 { public static void main(String[] args) { // Variables locales pour les taux d'intérêts (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("Données avant le bouclement des comptes:"); c1.afficher(); c2.afficher(); // Bouclement des comptes des deux clients: c1.boucler(); c2.boucler(); System.out.println("Données après le bouclement des comptes:"); c1.afficher(); c2.afficher(); } } class Client { private String nom; private String ville; private Compte cpt1, 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 privé: " + cpt1.getSolde() + " francs"); System.out.println(" Compte d'épargne: " + 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érêts au solde double interets = taux * solde; solde = solde + interets; } }
—
class Banque3 { public static void main(String[] args) { // ... comme avant // Construction des deux clients, notez l'argument booléen: Client c1 = new Client("Pedro", "Genève", taux1, 1000.0, taux2, 2000.0, true); // Nouveau Client c2 = new Client("Alexandra", "Lausanne", taux1, 3000.0, taux2, 4000.0, false); // Nouveau // ... comme avant } } class Client { private String nom; private String ville; private Compte cpt1, cpt2; private boolean masculin; // Nouvelle variable d'instance // 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); this.masculin = masculin; // Nouveau } public void afficher() { if (masculin) // Nouvelle instruction if..else System.out.print(" Client "); else System.out.print(" Cliente "); System.out.println(nom + " de " + ville); System.out.println(" Compte privé: " + cpt1.getSolde() + " francs"); System.out.println(" Compte d'épargne: " + cpt2.getSolde() + " francs"); } // ... comme avant } class Compte { // ... comme avant }