IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

petit probleme avec enum


Sujet :

avec Java

  1. #1
    Membre du Club Avatar de supzero
    Inscrit en
    Février 2009
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 59
    Points : 56
    Points
    56
    Par défaut petit probleme avec enum
    salut tout le monde,
    je vous passe le code des deux classes:
    la classe Personne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    public class Personne {
     
                public enum TSexe{
     
                    masculin,
                    feminin,
                };
                                                private String nom;
                                                private String prenom;
                                                private int age;
                                                private TSexe sexe;
         //constructeur par defaut
         public Personne()
         {
         this("","",0,TSexe.masculin);
         }
     
     
        public Personne(String nom, String prenom)
        {
        this(nom,prenom,0,TSexe.masculin);
        }
     
        public Personne(String nom, String prenom,int age)
        {
        this(nom,prenom,age,TSexe.masculin);
        }
     
        //constructeur complet
        public Personne(String nom, String prenom,int age,TSexe sexe)
        {
        this.setNom(nom);
        this.setPrenom(prenom);
        this.setAge(age);
        this.setSexe(sexe);
        }
     
        //constructeur personne
     
        public Personne(Personne personne)
        {
        this(personne.getNom(),personne.getPrenom(),personne.getAge(),personne.getSexe());    
        }
        //accesseurs
     
        public String getNom()
        {
                return this.nom;
        }
     
     
        public String getPrenom()
        {
                return this.prenom;
        }
     
        public int getAge()
        {
                return this.age;
        }
     
        public TSexe getSexe()
        {
                return this.sexe;
        }
     
        //muttateurs
     
        public void setNom(String nom)
        {
               this.nom=nom;
        }
     
        public void setPrenom(String prenom)
        {
               this.prenom=prenom;
        }
     
        public void setAge(int age)
        {
               if(age<0 || age>130)
                       this.age=0;
               else
                       this.age=age;
        }
     
     
        public void setSexe(TSexe sexe)
        {
               this.sexe=sexe;
        }
     
     
        public String toString()
        {
              return "MR "+this.getNom()+" "+this.getPrenom()+"est age de "+this.getAge()+" .et de sexe "+this.getSexe();
        }
     
     
    }
    et la classe TestPersonne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    public class TestPersonne {
     
        public static void main(String[] args) {
     
            Personne p1 = new Personne();
            p1.setNom("kadachi");
            p1.setAge(27);
            p1.setSexe(TSexe.masculin);
            System.out.println(p1);
     
            Personne p2 = new Personne(p1);
            p2.setNom("hicham");
            p1.setAge(35);
            System.out.println(p2);
     
            Personne p3 = new Personne("falo","fati",29);
            p3.setSexe(TSexe.feminin);
            System.out.println(p3);
     
        }
    je sais que je doit importer un truc pour que ca marche mais je l'ignore ?
    merci d'avance
    Ma devise " Si tu ne sais pas : DEMANDE. Si tu sais : PARTAGE "
    lenny 2.6.26-2-686

  2. #2
    Membre éclairé Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Points : 773
    Points
    773
    Par défaut
    salut,

    tu as déclaré ton enum à l'intérieur de la classe Personne, dans pour la référencer, tu dois la faire précéder de Personne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    p1.setSexe(Personne.TSexe.masculin);
    sinon si ça te dérange de faire précéder ton enum du nom de la classe Personne, tu peux la faire sortir de cette dernière
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    enum TSexe{                
    	masculin,
    	feminin,
    };
    public class Personne {    
    	private String nom;
    	private String prenom;
    	private int age;
    	private TSexe sexe;
         //constructeur par defaut
         public Personne()
         {
         this("","",0,TSexe.masculin);
         }
    ....
    }
    ici tu peux directement faire TSexe.masculin dans la classe TestPersonne

    tu dois avoir remarqué que j'ai enlevé le mot clé public, si on l'avait laissé, ça générera une erreur de compilation. Une enum est en fait une classe (le compilateur la traduit en classe... euh, enfin je crois ) , et tu dois savoir que seule une seule classe public par fichier est permise, et elle doit avoir le même nom que le fichier .java

  3. #3
    Membre du Club Avatar de supzero
    Inscrit en
    Février 2009
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 59
    Points : 56
    Points
    56
    Par défaut
    Big Up herch t'est
    merci .
    Ma devise " Si tu ne sais pas : DEMANDE. Si tu sais : PARTAGE "
    lenny 2.6.26-2-686

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. petit probleme avec la fonction enum !
    Par cedcyr dans le forum Débuter
    Réponses: 14
    Dernier message: 23/05/2013, 21h17
  2. [C#] Petit problème avec un élément du FAQ
    Par matech dans le forum ASP.NET
    Réponses: 11
    Dernier message: 24/01/2008, 14h11
  3. petit probleme avec Devil
    Par ellipse dans le forum DevIL
    Réponses: 2
    Dernier message: 01/02/2005, 18h41
  4. [TP]petit probleme avec solution
    Par pompompolom dans le forum Turbo Pascal
    Réponses: 1
    Dernier message: 02/12/2004, 19h48
  5. petit probleme avec l'éditeur de builder
    Par qZheneton dans le forum C++Builder
    Réponses: 2
    Dernier message: 28/10/2004, 16h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo