Erreur en compilation

cs_saif87 Messages postés 35 Date d'inscription dimanche 7 décembre 2008 Statut Membre Dernière intervention 16 juin 2010 - 18 déc. 2008 à 19:11
cs_saif87 Messages postés 35 Date d'inscription dimanche 7 décembre 2008 Statut Membre Dernière intervention 16 juin 2010 - 19 déc. 2008 à 11:06
bonjour qq1 peut m'aidez a detecter l'erreur nullpointerexception
voila mon code c'est projet de gestion bancaire avec un menu texttuelle
class MainProjet
{
    public static void main(String[] args)
    {
         double s=0;
         int n=0;
        Client c=null;
         CompteCourant cpt=null;
         CompteEpargne cpt1=null;
        Hashtable1 h=new Hashtable1();
        while(n<5)
        {
            System.out.println("entrer 0 pour creer un nouveau client ");
           
            System.out.println("entrer 1 pour afficher les informations du client ");
            System.out.println("entrer 2 pour afficher la liste des client ");
            System.out.println("entrer 3 pour creer votre compte ");
            System.out.println("entrer 4 pour afficher la liste des comptes ");
            System.out.println("entrer 5 pour afficher les informations sur un votre copmte ");
            System.out.println("entrer 6 pour quitter ");
             n=Clavier.lireInt();
        switch(n)
            {
        case (0):
        {
        System.out.println("entrer votre cin");
        int cin=Clavier.lireInt();
        System.out.println("entrer votre nom");
        String nom=Clavier.lireString();
        System.out.println("entrer votre prenom");
        String pre=Clavier.lireString();
        System.out.println("entrer votre tel");
        int tel=Clavier.lireInt();
        System.out.println("entrer votre solde initiale");
         s=Clavier.lireDouble();
        System.out.println("entrer votre cle");
        String cle=Clavier.lireString();
        //CompteCourant cpt1=new CompteCourant(5000);
          c=new Client(nom,pre,cin,tel);
        //Client cc=new Client("ahmed","yeye",cin,tel);
        h.remplirHash(cle,c);
        System.out.println(c);
        }
        break;
           
            case 1:System.out.println(c);
            break;
            case 2:h.affichage();
            break;
            case 3:
            {
                System.out.println("voulez vous creer un compte courant ou epargne ou les 2");
                System.out.println("tapez 31 pour creer un compte courant ");
                System.out.println("tapez 32 pour creer un compte epargne ");
                System.out.println("tapez 33 pour creer les deux ");
                System.out.println("tapez 34 pour quittez ");
                int x=Clavier.lireInt();
                while(x<4)
                {
                    switch(x)
                    {
                    case 31:
                    {
                        System.out.println("entrer votre solde initiale ");
                        s=Clavier.lireDouble();
                        cpt=new CompteCourant(s);
                        c.setCompte(cpt);
                        System.out.println(c);
                    }
                    break;
                    case 32:
                    {
                        System.out.println("entrer votre solde initiale ");
                        s=Clavier.lireDouble();
                        cpt1=new CompteEpargne(s);
                        c.setCompte(cpt);
                        System.out.println(c);
                    }
                    break;
                    case 33:
                    {
                        System.out.println("entrer votre solde initiale pour le compte courant");
                        s=Clavier.lireDouble();
                        System.out.println("entrer votre solde initiale pour le compte epargne");
                        double ss=Clavier.lireDouble();
                         cpt=new CompteCourant(s);
                         cpt1=new CompteEpargne(ss);
                        c.setCompte(cpt);
                        c.setCompte(cpt1);
                        System.out.println(c);
                    }
                    break;
                    case 34:
                    {
                        System.out.println("Veuillez tapez voter choix 1 pour virement et 2 pour retret ");
                        int a=Clavier.lireInt();
                        if(a==1)
                        {
                            System.out.println("entrer le solde a virer ");
                            double soldevirer=Clavier.lireDouble();
                            cpt.virement(soldevirer);
                        }
                        if(a==2)
                        {
                            System.out.println("entrer le solde a virer ");
                            double solderetret=Clavier.lireDouble();
                            cpt.retret(solderetret);
                        }
                    }
                    break;
                   
                    default:
                        System.out.println("erreur de saisie");
                    }
                }
            }
            case 4:
            {
                System.out.println(cpt);
            }
            break;
            case 5:
                break;
            case 6:
                //System.out.exit(0);
            default:
                System.out.println("erreur de saisie");
        }
        }

        /*cc.setCompte(cpt);
       
        //cpt.virement(10000);
    //    System.out.println(cc);
       
       
       
    //    h.remplirHash("l1",cc);
    //    h.remplirHash("1",c);
       
    //    Client c1=h.getClient("c");
    //    if(c1==null)
            System.out.println("objet client inexistant");
        else
            System.out.println(c1);*/
    }
}
public class Compte
{
    protected double soldeinitiale;
    public Compte(double s)
    {
        soldeinitiale=s;
    }
    double getsoldeinitiale()
    {
        return soldeinitiale;
    }
    void virement(double soldeinitiale)
    {
         this.soldeinitiale+=soldeinitiale;
    }
    void retret(double ss)
    {
        if(ss>soldeinitiale)
            System.out.println("impossible");
        else
        soldeinitiale-=ss;
    }
    public String toString()
    {
        return "votre solde est "+soldeinitiale;
       
    }
}
class CompteCourant extends Compte 
{
   
    public CompteCourant(double soldeinitiale)
    {
        super(soldeinitiale);
    }
void afficher()
    {
        System.out.println("le solde est "+soldeinitiale);
    }
   
}
class CompteEpargne extends Compte
{
    private static final double taux=0.45;
    public CompteEpargne(double soldeinitiale)
    {
        super(soldeinitiale);
    }

}
class Client
{
    private String nom;
    private String prenom;
    private  int cin,tel;
    private Compte s;
    public Client(String nom,String prenom,int cin,int tel)
    {
        this.nom=nom;
        this.prenom=prenom;
        this.cin=cin;
        this.tel=tel;
    }
    String getnom()
    {
        return nom;
    }
    String getprenom()
    {
        return prenom;
    }
    int getncin()
    {
        return cin;
    }
    int getntel()
    {
        return tel;
    }
    void setCompte(Compte ss)
    {
        s=ss;
    }
    Compte getCompte()
    {
        return s;
    }
    public String toString()
    {
        return "le nom "+nom+"prenom "+prenom+"cin "+cin+"tel "+tel+" son solde "+s.getsoldeinitiale();
    }
    void afficher()
    {
        System.out.println(this);
    }
}
import java.util.*;
class Hashtable1
{
    Hashtable m=new Hashtable();
   
    public void remplirHash(String s,Client c)
    {
        if(!m.containsKey(s))
            m.put(s,c);
        else
        System.out.println("cle deja utilise");
    }
    public void affichage()
    {
        Enumeration nb=m.elements();
        System.out.println("l'ensemble des clients est ");
        while(nb.hasMoreElements())
        {
            Object key=nb.nextElement();
            Client value=(Client)m.get(key);
            System.out.println("les informations sont "+key );
           
        }
    }
    Client getClient(String cle)
    {
       
        Client value=(Client)m.get(cle);
        return value;
    }

}
merci

2 réponses

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
18 déc. 2008 à 20:16
salut

si tu nous donnait le message d'erreur et la ligne, ca irait plus vite.
0
cs_saif87 Messages postés 35 Date d'inscription dimanche 7 décembre 2008 Statut Membre Dernière intervention 16 juin 2010
19 déc. 2008 à 11:06
Bonjour Merci de m'daidez le probleme est au moment de l'execution si vous tapez 0 et remplir les differentes champs de client puis je mais System.out.println(c);
il n'affiche rien seulement l'adresse d'objet Client
cette erreur me bloque a continue mon travaille
class Client
{
 private String nom;
 private String prenom;
 private  int cin,tel;
 private Compte s;
 public Client(String nom,String prenom,int cin,int tel)
 {
  this.nom=nom;
  this.prenom=prenom;
  this.cin=cin;
  this.tel=tel;
 }
 Client()
 {
 }
 String getnom()
 {
  return nom;
 }
 String getprenom()
 {
  return prenom;
 }
 int getncin()
 {
  return cin;
 }
 int getntel()
 {
  return tel;
 }
 void setCompte(Compte ss)
 {
  s=ss;
 }
 Compte getCompte()
 {
  return s;
 }
     String tostring()
 {
  return "le nom "+nom+"prenom "+prenom+"cin "+cin+"tel "+tel+" son solde "+s.getsoldeinitiale();
 }
 void afficher()
 {
  System.out.println(this);
 }
}
public class Compte
{
 protected double soldeinitiale;
 public Compte(double s)
 {
  soldeinitiale=s;
 }
 double getsoldeinitiale()
 {
  return soldeinitiale;
 }
 void virement(double soldeinitiale)
 {
   this.soldeinitiale+=soldeinitiale;
 }
 void retret(double ss)
 {
  if(ss>soldeinitiale)
   System.out.println("impossible");
  else
  soldeinitiale-=ss;
 }
 public String toString()
 {
  return "votre solde est "+soldeinitiale;
  
 }
}
class CompteCourant extends Compte 
{
 
 public CompteCourant(double soldeinitiale)
 {
        super(soldeinitiale);
    }
void afficher()
 {
  System.out.println("le solde est "+soldeinitiale);
 }
 
}
class CompteEpargne extends Compte
{
 private static final double taux=0.45;
 public CompteEpargne(double soldeinitiale)
 {
        super(soldeinitiale);
  //this.taux=taux;
    }


}
import java.util.*;
class Hashtable1
{
 Hashtable m=new Hashtable();
 
 public void remplirHash(String s,Client c)
 {
  if(!m.containsKey(s))
   m.put(s,c);
  else
  System.out.println("cle deja utilise");
 }
 public void affichage()
 {
  Enumeration nb=m.elements();
  System.out.println("l'ensemble des clients est ");
  while(nb.hasMoreElements())
  {
   Object key=nb.nextElement();
   Client value=(Client)m.get(key);
   System.out.println("les informations sont "+key );
   
  }
 }
 Client getClient(String cle)
 {
  
  Client value=(Client)m.get(cle);
  return value;
 }


}
import java.util.*;
class MainProjet
{
 public static void main(String[] args)
 {
   double s=0;
   int n=0;
  
   CompteCourant cpt=null;
   CompteEpargne cpt1=null;
   Client c=new Client();
  Hashtable1 h=new Hashtable1();
  while(n<5)
  {
   System.out.println("entrer 0 pour creer un nouveau client ");
   
   System.out.println("entrer 1 pour afficher les informations du client ");
   System.out.println("entrer 2 pour afficher la liste des client ");
   System.out.println("entrer 3 pour creer votre compte ");
   System.out.println("entrer 4 pour afficher la liste des comptes ");
   System.out.println("entrer 5 pour afficher les informations sur un votre copmte ");
   System.out.println("entrer 6 pour quitter ");
    n=Clavier.lireInt();
  switch(n)
   {
  case (0):
  {
  System.out.println("entrer votre cin");
  int cin=Clavier.lireInt();
  System.out.println("entrer votre nom");
  String nom=Clavier.lireString();
  System.out.println("entrer votre prenom");
  String pre=Clavier.lireString();
  System.out.println("entrer votre tel");
  int tel=Clavier.lireInt();
  System.out.println("entrer votre solde initiale");
   s=Clavier.lireDouble();
  System.out.println("entrer votre cle");
  String cle=Clavier.lireString();
  //CompteCourant cpt1=new CompteCourant(5000);
  c=new Client(nom,pre,cin,tel);
  //  System.out.println(c.tostring());
  //Client cc=new Client("ahmed","yeye",cin,tel);
  h.remplirHash(cle,c);
  System.out.println(c);


  //h.affichage();
  }
  break;
   
   case 1:System.out.println(c);
   break;
   case 2:h.affichage();
   break;
   case 3:
   {
    System.out.println("voulez vous creer un compte courant ou epargne ou les 2");
    System.out.println("tapez 31 pour creer un compte courant ");
    System.out.println("tapez 32 pour creer un compte epargne ");
    System.out.println("tapez 33 pour creer les deux ");
    System.out.println("tapez 34 pour quittez ");
    int x=Clavier.lireInt();
    while(x<4)
    {
     switch(x)
     {
     case 31:
     {
      System.out.println("entrer votre solde initiale ");
      s=Clavier.lireDouble();
      cpt=new CompteCourant(s);
      c.setCompte(cpt);
      System.out.println(c);
     }
     break;
     case 32:
     {
      System.out.println("entrer votre solde initiale ");
      s=Clavier.lireDouble();
      cpt1=new CompteEpargne(s);
      c.setCompte(cpt1);
      System.out.println(c);
     }
     break;
     case 33:
     {
      System.out.println("entrer votre solde initiale pour le compte courant");
      s=Clavier.lireDouble();
      System.out.println("entrer votre solde initiale pour le compte epargne");
      double ss=Clavier.lireDouble();
       cpt=new CompteCourant(s);
       cpt1=new CompteEpargne(ss);
      c.setCompte(cpt);
      c.setCompte(cpt1);
      System.out.println(c);
     }
     break;
     case 34:
     {
      System.out.println("Veuillez tapez voter choix 1 pour virement et 2 pour retret ");
      int a=Clavier.lireInt();
      if(a==1)
      {
       System.out.println("entrer le solde a virer ");
       double soldevirer=Clavier.lireDouble();
       cpt.virement(soldevirer);
      }
      if(a==2)
      {
       System.out.println("entrer le solde a virer ");
       double solderetret=Clavier.lireDouble();
       cpt.retret(solderetret);
      }
     }
     break;
     
     default:
      System.out.println("erreur de saisie");
     }
    }
   }
   case 4:
   {
    System.out.println(cpt);
   }
   break;
   case 5:
    break;
   case 6:
    //System.out.exit(0);
   default:
    System.out.println("erreur de saisie");
  }
  }
 }
}
  
  
  


  
   
   
0
Rejoignez-nous