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 :

les pointeurs java


Sujet :

avec Java

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 143
    Points : 60
    Points
    60
    Par défaut les pointeurs java
    Salut a tous ,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    for(){
    Test tst = new Test();
    //supposons que ici je vais effectuer une action sur tst 
    Liste.add(tst)
     
    }
    je veux que après le for quand je lis le contenu de la liste je trouve les différents résultat des actions effectuer sur tst , le problème c'est si je fais hachCode de tst je vais avoir la même valeur pour chaque itération ,et par conséquent toute le élément de la Liste vont avoir juste le résultat de la dernière méthode !.

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Expliques le problème que tu as de façon plus détaillée et exacte, au lieu de nous donner une sorte d'enigme à résoudre.

    Au moins :
    • Quelle est la classe de Liste ? Et si c'est une classe à toi, donnes nous le source.
    • Si le hashcode est le même pour toutes les instances de Tst est le même, c'est que tu as implémenté la méthode hashCode() : comment (le code) ? Et pourquoi (parce que pour mettre des instances dans une liste, il n'y a aucun raison de le faire) ?
    • Et le code complet : pas de lignes abrégées genre for().


    Au fait, quel est le rapport entre ta question et les "pointeurs" (je suppose que tu veux dire "référence") ?
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 143
    Points : 60
    Points
    60
    Par défaut
    J'ai une liste ConditionList de type Condition : une classe que j'ai definis:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     public List<Condition> ConditionList  = new ArrayList<Condition>();

    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
     
    for (int j=0; j<regleList.size();j++  ){ 
    regle = regleList.get(j);
      if(regle.ConditionList.size()==1) { 
                          regle.Cond = regle.ConditionList.get(0);
       }
      else if (regle.ConditionList.size()>1 ) { 
                          regle.Cond = regle.ConditionList.get(0);
                          Condition ref=regle.Cond; // ref c'est mon "pointeur"
                          for(int i=1; i<regle.ConditionList.size(); i++) { 
                                            ref.nextCond =regle.ConditionList.get(i);
                                            ref=ref.nextCond; 
                          }
       }
     
     
    RegleList.set(j,regle);
    }
    donc je vais a chaque iteration "pour chaque élément de regleList" copier les condition et la mettre dans Cond mais , donc regle change et je fait set.RegleList(regle,j); , mais mon problème c'est que toute les éléments de regleList vont avoir la même valeur que le dernier élément de regleList ?

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Ça veut rien dire, "set.RegleList(regle,j);"

    Tu devrais être capable de comprendre qu'on ne peut pas lire tes pensées. Un peu de bon sens s'il te plaît.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 143
    Points : 60
    Points
    60
    Par défaut
    ooops , c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    RegleList.set(j,regle);

  6. #6
    Membre éprouvé Avatar de Momoth
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2013
    Messages
    318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 318
    Points : 1 236
    Points
    1 236
    Par défaut
    Bonjour,

    Si j'ai bien compris, tu as un objet "set" qui a une liste de "regle", et une "regle" a une liste de "condition".

    Pourrais t'on avoir le code de ces classes ?

    --Momoth--
    La Triforce du développement : Fainéantise, Curiosité et Imagination.

  7. #7
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 143
    Points : 60
    Points
    60
    Par défaut
    la classe condition

    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
     
     
    private class Condition implements Serializable, RevisionHandler, Cloneable {
     
     
        static final long serialVersionUID = -8925333011350280799L;
        private int attr = -1; 
        private int valCond; 
        private Condition nextCond = null; 
     
     
     
        protected Object clone() throws CloneNotSupportedException {
            return super.clone();
        }
     
     
        private boolean satisfies(Instance inst) {
     
     
          if ((int) inst.value(attr)== valCond) {
            if (nextCond == null) {
    	  return true;
    	} else {
    	  return nextCond.satisfies(inst);
    	}
          }
          return false;    
        }
     
     
      }
    la classe Regle

    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
     
     private class Regle implements Serializable, RevisionHandler,Cloneable {
     
        static final long serialVersionUID = 4248784350656508583L;
        private int m_classification;
        private int m_ruleSize=0;
        private Instances m_instances;
        private Condition Cond;  
        private Regle m_next;
        public List<Condition> ConditionList  = new ArrayList<Condition>();
     
     
        public Regle(Instances data, int cl) throws Exception {
     
          m_instances = data;
          m_classification = cl;
          Cond = null;
          m_next = null;
     
     
     
        protected Object clone() throws CloneNotSupportedException {
            return super.clone();
       }
        public int resultRule(Instance inst) { }
        public boolean coveres(Instance data) {  }
        public int resultRules(Instance inst) {}
        public Instances coveredBy(Instances data) { }
        public Instances notCoveredBy(Instances data) {}
        public String toString() {}
     
     
        }
     
     
     
      }
    J'ai une liste de Regle : RegleList , ces Regles la ont chaqu'une une liste de condition ,CondtionList ,
    pour chaque regle dans RegleListe
    je vais copier chaque Condition dans ConditionList dans le champ ,Cond et puis la Condition suivante dans nextCond

  8. #8
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Tu nous agaces. Enlève toutes tes classes qui n'ont rien à voir avec la question, et prends un exemple tout simple, en dix lignes maximum, avec que des classes fournies dans Java, pour poser ta question à propos de pointeurs.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Membre éprouvé Avatar de Momoth
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2013
    Messages
    318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 318
    Points : 1 236
    Points
    1 236
    Par défaut
    Bonjour,

    Mais exactement qu'est ce qui ne va pas dans votre programme ?

    --Momoth--
    La Triforce du développement : Fainéantise, Curiosité et Imagination.

  10. #10
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 143
    Points : 60
    Points
    60
    Par défaut
    le problème est dans la référence ref ,
    je veux que apre que je fait , l’opération RegleList.set(j,regle);
    la référence ne pointe plus vers cette régle pour que dans l’itération suivante en changeant ref , la réglé précédente ne change pas

  11. #11
    Membre éprouvé Avatar de Momoth
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2013
    Messages
    318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 318
    Points : 1 236
    Points
    1 236
    Par défaut
    Désolé, mais je ne comprends pas ce que tu veux dire. Tu me dis que ton objet "regle" ne change pas d'un tour de boucle a un autre ?

    C'est pourtant la première chose que tu fais dans ta boucle. Ton jeu d'essais en pas à pas donne quelque chose de concluant ?

    --Momoth--
    La Triforce du développement : Fainéantise, Curiosité et Imagination.

  12. #12
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    C'est bien pour ça qu'il faut arrêter d'utiliser ses propres classes qui servent à rien pour l'exemple, et juste montrer sa question avec une List et des String en 10 lignes.
    C'est du bon sens élémentaire, je savais faire ça avant de débuter en informatique.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Les pointeurs en Java
    Par mohsenuss91 dans le forum Général Java
    Réponses: 6
    Dernier message: 24/11/2013, 21h53
  2. [TTreeView] Problème avec les pointeurs d'objet
    Par BlackWood dans le forum Composants VCL
    Réponses: 2
    Dernier message: 02/07/2004, 14h31
  3. [Plugin] Récupérer tous les fichiers *.java d'un workspace
    Par Satch dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 02/06/2004, 12h51
  4. pointeurs, toujours les pointeurs :/
    Par giviz dans le forum C
    Réponses: 16
    Dernier message: 08/10/2003, 15h02
  5. Pb de débutant sur les pointeurs!!!
    Par benji17c dans le forum C
    Réponses: 6
    Dernier message: 30/09/2003, 17h50

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