class MonCompte {
private double solde;
private static int nombreComptes = 0;
public MonCompte(double solde) {
this.solde = solde;
nombreComptes++;
}
public MonCompte() {
this.solde = 0.0;
nombreComptes++;
}
public double getSolde() {
return solde;
}
public void retirer(double montant) {
if (montant <= solde) {
solde -= montant;
System.out.println("Retrait de " + montant + " effectué. Nouveau
solde : " + solde);
} else {
System.out.println("Retrait impossible : montant supérieur au solde.");
}
}
public void deposer(double montant) {
if (montant > 0) {
solde += montant;
System.out.println("Dépôt de " + montant + " effectué. Nouveau solde :
" + solde);
} else {
System.out.println("Le montant à déposer doit être positif.");
}
}
public void transferer(double montant, MonCompte compte) {
if (montant <= solde) {
this.retirer(montant);
compte.deposer(montant);
System.out.println("Transfert de " + montant + " effectué vers le
compte destinataire.");
} else {
System.out.println("Transfert impossible : montant supérieur au
solde.");
}
}
public static int getNombreComptes() {
return nombreComptes;
}
}
public class Main {
public static void main(String[] args) {
MonCompte compte1 = new MonCompte(500);
MonCompte compte2 = new MonCompte();
System.out.println("Solde compte1 : " + compte1.getSolde());
System.out.println("Solde compte2 : " + compte2.getSolde());
compte2.deposer(200);
compte1.retirer(100);
compte1.transferer(200, compte2);
System.out.println("Solde compte1 après transfert : " +
compte1.getSolde());
System.out.println("Solde compte2 après transfert : " +
compte2.getSolde());
System.out.println("Nombre total de comptes créés : " +
MonCompte.getNombreComptes());
}
}