bonjour a tous
j'ai un probleme d'appel de methode. j'ai tout essayé mais ca ne marche pas.
ca concerne la creation d'un compte pour une personne(soit moral soit physique) dans une banque .
dans la classe menu, l'appel de la methode ne marche pas :'(
voici les classes et le menu dans lequel j'arrive pas a appeler les methodes :
j'aimerai bien resoudre le probleme du CASE 4 dans le menu: la creation dun nouveau compte
et CASE 6 (faire un retrait dans une banque et CASE 7(faire un virement).
merci
//la classe Personne:
package gestionDePersonnes;
public abstract class Personne{
protected String id;
protected String adresse;
public void SetID(String id){
this.id=id;
}
public void SetAdresse(String ad){
adresse=ad;
}
public String getId(){
return id;
}
public String getAdresse(){
return adresse;
}
public abstract void affiche();
}
//la classe compte
package gestionDeComptes;
import gestionDePersonnes.*;
public class Compte{
private static int numC=1000;
private float solde;
private Personne proprietaire;
public Compte(float solde,Personne proprietaire){
this.solde=solde;
numC++;
this.proprietaire=proprietaire;
}
public Compte(){
solde=0;
numC=0;
}
public void virement(float montant) {
solde = solde + montant ;
}
public void retrait (float montant) {
if(solde>montant)
solde = solde - montant ;
else System.out.println("Votre solde est insufisant");
System.out.println("operation non effectuée"); }
public void SetSolde(float s){
solde=s;
}
public float getSolde(){
return solde;
}
public int getNumC(){
return numC;
}
public Personne getProprietaire(){
return proprietaire;
}
public String toString(){
return "le numero de compte est" + numC+ "le solde est "+solde;
}
}
la classe banque:
package gestionDeComptes;
import gestionDePersonnes.*;
import java.util.Vector;
import java.util.Scanner;
import java.util.Enumeration;
public class Banque{
private String nomBnq;
private String adresseBnq;
private Vector lesPersonnes; //vector de la classe prsnn
private Vector lesComptes;
private Vector v = new Vector();
private Compte c;
public Banque(String nomBnq,String ad){
this.nomBnq=nomBnq;
adresseBnq=ad;
lesPersonnes=new Vector();
lesComptes=new Vector();
}
public void ajoutPrsn(Personne p){
lesPersonnes.add(p);
}
public void ajoutCompte(Compte c){
lesComptes.add(c);
}
public void SetnomBnq(String nomBnq){
this.nomBnq=nomBnq;
}
public void SetAdresseBnq(String ad){
adresseBnq=ad;
}
public String getNomBnq(){
return nomBnq;
}
public String getAdresseBnq(){
return adresseBnq;
}
public boolean CreerCompte(int n, Personne p){
boolean cree=false;
if(!existeCompte(n))
{
lesComptes.add(new Compte(n,p));
cree=true;
}
return cree;
}
public boolean CreerC(float s, Personne p){
boolean cree=true;
c = new Compte(s,p);
if(!(v.contains(c))) {
v.addElement(c);
return cree;}
else { cree=false;
return cree;
}
}
public boolean existeCompte(int num){
boolean existe=false;
Enumeration e=lesComptes.elements(); //afich les elmt d1 vector
while(e.hasMoreElements() && !existe)
{Compte c=(Compte)e.nextElement();
if (c.getNumC()==num)
existe=true;
}
return existe;
}
public boolean existePersonne(String n){
boolean existe=false;
Enumeration e=lesPersonnes.elements(); //afich les elmt d1 vector
while(e.hasMoreElements() && !existe)
{Personne p=(Personne)e.nextElement();
if (p.getId()==n)
{existe=true;
System.out.println(" ** client trouve ** ");}
if(p.getId()==n)
{System.out.println(" ** client introuvable ** ");}
}
return existe;
}
public Compte trouverCompte(int num){
Compte compte=null;
Enumeration e=lesComptes.elements();
while(e.hasMoreElements() && compte==null)
{Compte c=(Compte)e.nextElement();
if (c.getNumC()==num)
compte=c;
}
return compte;
}
public Personne trouverPersonne(String n){
Personne persn=null;
Enumeration e=lesPersonnes.elements();
while(e.hasMoreElements() && persn==null)
{Personne p=(Personne)e.nextElement();
if (p.getId()==n)
{persn=p;
System.out.println(" ** client trouve ** ");}
else{ System.out.println(" ** client inexistant** ");
}
}
return persn;
}
public boolean supprimerCompte(int num){
Compte c=trouverCompte(num);
boolean supp=false;
if(c !=null) {
lesComptes.remove(c) ;
supp=true;
}
return supp;
}
public void afficheClt(){
Enumeration e=lesPersonnes.elements();
while(e.hasMoreElements())
{
Personne p=(Personne)e.nextElement();
p.affiche();
}
} }
classe personne physique :
package gestionDePersonnes;
public class PersonnePhysique extends Personne{
private String nom;
private String prenom;
public PersonnePhysique(String nom,String prenom,String id,String adresse){
this.nom=nom;
this.prenom=prenom;
this.id=id;
this.adresse=adresse;
}
public PersonnePhysique(){
id="000000";
adresse="non identifiée";
nom="XXX";
prenom="YYY";
}
public String getNom(){
return nom;
}
public String getPrenom(){
return prenom;
}
public void setNom(String nom){
this.nom=nom;
}
public void setPrenom(String prenom){
this.prenom=prenom;
}
public void affiche(){
System.out.println("l'id de la personne est "+id+" son nom est " +nom+"son prenom est "+prenom+"son adresse est "+adresse);
}
}
la classe personne morale:
package gestionDePersonnes;
public class PersonneMorale extends Personne{
private String raisonSociale;
public PersonneMorale(String raisonSociale,String id,String adresse){
this.raisonSociale=raisonSociale;
this.id=id;
this.adresse=adresse;
}
public PersonneMorale(){
id="000000";
adresse="non identifiée";
raisonSociale="XXX";
}
public String getRS(){
return raisonSociale;
}
public void setRS(String Rs){
raisonSociale=Rs;
}
public void affiche(){
System.out.println("l'id de la societe est "+id+" sa raison sociale est " +raisonSociale+" son adresse est "+adresse);
}
}
//la classe menu
import java.util.Scanner;
import gestionDePersonnes.*;
import gestionDeComptes.*;
public class TestBanque{
public static void main(String[]args){
PersonnePhysique clt=null;
PersonneMorale ste=null;
Compte cp=null;
Banque bp = new Banque("bp","marrakech");
int choix=0;
String nom;
String prenom;
String Rsociale;
String adresse;
String id;
//float solde;
int numC=1000;
Scanner s= new Scanner(System.in);
do{
System.out.println(" ");
System.out.println("***************MENU************** ");
System.out.println(" ");
System.out.println("1 : ajouter un clt physique ");
System.out.println("2 : ajouter une Ste");
System.out.println("3 : afficher les CLt d'une banque");
System.out.println("4 : creer un compte");
System.out.println("5 : supprimer un compte");
System.out.println("6 : realiser un retrait");
System.out.println("7 : faire un virement");
System.out.println("8 : consulter les comptes clt ");
System.out.println("9 : creer une banque ");
System.out.println("10: le nombre de Clt en banque");
System.out.println("11: Montant des Clt crediteur");
System.out.println("12: Montant des Clt debiteurs");
System.out.println("0 : exit");
System.out.println(" ");
System.out.println(" ");
choix=s.nextInt();
switch(choix)
{
case 1: {
clt=new PersonnePhysique();
System.out.println("donner l'id du Clt : ");
id=s.next();
clt.SetID(id);
System.out.println("donner le nom du Clt : ");
nom=s.next();
clt.setNom(nom);
System.out.println("donner le prenom du Clt : ");
prenom=s.next();
clt.setPrenom(prenom);
System.out.println("donner l'adresse du clt : ");
adresse=s.next();
clt.SetAdresse(adresse);
bp.ajoutPrsn(clt);
break;
}
//***********************************************************************
case 2: {
ste=new PersonneMorale();
System.out.println("donner l'id de la ste : ");
id=s.next();
ste.SetID(id);
System.out.println("donner la raison sociale : ");
Rsociale=s.next();
ste.setRS(Rsociale);
System.out.println("donner l'adresse de la ste : ");
adresse=s.next();
ste.SetAdresse(adresse);
bp.ajoutPrsn(ste);
break;
}
//********************************************************************
case 3: {
bp.afficheClt();
break;
}
//**********************************************************************
case 4: {
float solde;
cp=new Compte(float solde,clt);
clt=new PersonnePhysique();
System.out.println("donner le proprietaire du compte : ");
id=s.next();
clt.SetID(id);
bp.trouverPersonne(id);
System.out.println(" ** clt trouve ** ");
//if(bp.trouverPersonne(id)=true);{
// System.out.println(" ** clt introuvable ** ");}
System.out.println("donner le solde initial : ");
solde=s.nextFloat();
cp.SetSolde(solde);
if (bp.CreerC(solde,clt));
System.out.println("compte cree");
//else System.out.println("compte non cree");
break;
}
//**********************************************************************
case 5:
{
System.out.println("donner le num de compte : ");
int num =s.nextInt();
if(bp.supprimerCompte(num))
System.out.println(" compte supprimé: ");
else
System.out.println(" compte non trouvé ");
break;
}
//***********************************************************************
case 7:
{
// clt=new PersonnePhysique();
System.out.println("donner le num de clt : ");
String nm=s.next();
// clt.SetID(num);
float sold;
clt=new PersonnePhysique();
if(bp.existePersonne(nm)) ;
{System.out.println(" clt trouve: ");}
// else{
// System.out.println(" clt non trouve: ");}
bp.CreerC(float sold,clt);
System.out.println(" compte trouve: ");
//else{
// System.out.println(" compte introuvable ");}
break;
}
//**************************************************************************
case 8:
{
System.out.println("donner le num de compte : ");
int num =s.nextInt();
if(bp.supprimerCompte(num))
System.out.println(" compte supprimé: ");
else
System.out.println(" compte non trouvé ");
}
}
}
while(choix!=0);
}
}