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

Collection et Stream Java Discussion :

compare To arraylist


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 164
    Par défaut compare To arraylist
    Bonjour,

    je n'arrive pas a implémenter la méthode compareTo malgres l'explication dans la faq...

    Je veu trier un jeu de carte, voila ma classe C_carte :

    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
    public class C_carte implements Serializable,Comparable<Object> {
        //carte 11 = J, 12 = D, 13 = K, 0 = dos
        //couleur 1 = coeur, 2 = carreau, 3 = pique, 4 = trefle
        private int carte;
        private int couleur;
     
        public C_carte(int a, int b)
        {
            carte=a;
            couleur=b;
        }
     
        public int GetCarte()
        {
            return carte;
        }
     
        public int compareTo(Object other)
        {
              int carte1 = ((C_carte) other).GetCarte();
              int carte2 = this.GetCarte();
              if (carte1 > carte2)  return -1; 
              else if(carte1 == carte2) return 0; 
              else return 1; 
        }
    }
    et j'utilise :

    dans une autre classe, jeu étant un arraylist de C_carte.

    J'ai une erreur a la compilation "cannot find symbol" je sais plus trop quoi faire

    Merci de vos réponses

  2. #2
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Tu pourrais nous donner l'erreur de compilation complète ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 164
    Par défaut
    C:\Users\DiMi\Contacts\JAVA\POKER V3\poker_serveur\src\poker_serveur\C_jeu_carte.java:46: cannot find symbol
    symbol : method sort(java.util.ArrayList<poker_serveur.C_carte>)
    location: class java.util.Collections
    Collections.sort(jeu);

    sur la ligne :

    Collections.sort(jeu);

  4. #4
    Membre Expert Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Par défaut
    Comment as tu initiliser jeu? Montre nous le code avant le Collections.sort . As tu penser à l'import de Collections?

  5. #5
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    D'ailleurs n'utilises pas implements Comparable<Object>, mais Comparable<C_carte>...

    (ça n'est pas la cause du pb, mais bon)

    Il nous faudrait plus d'infos en effet sur l'initialisation de ton jeu (donne ton code complet).

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 164
    Par défaut
    Ma classe qui initialise le jeu de carte :

    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
    public class C_jeu_carte {
     
        private ArrayList<C_carte> jeu;
     
        public C_jeu_carte() {
            jeu = new ArrayList<C_carte>();
        }
     
        public void InitJeuCarte()
        {
            for(int i=1;i<5;i++)
                for(int j=1;j<14;j++)
                {
                    C_carte carte = new C_carte(j,i);
                    jeu.add(carte);
                }
     
            Collections.shuffle(jeu);
     
        }
     
        public ArrayList<C_carte> GetJeu()
        {
            return jeu;
        }
     
        public void TrierJeu()
        {
            Collections.sort(jeu);
        }
    J'ai bien l'import de util.* .

  7. #7
    Membre Expert Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Par défaut
    Tu n'as pas essayer ceci :

    D'ailleurs n'utilises pas implements Comparable<Object>, mais Comparable<C_carte>...
    Car je crois que c'est la clé de ton erreur. Moi j'ai essayé avec le java que j'avais sur ma machine, 1.4 et le code marche parfaitement (sauf que 1.4 on precise pas le type d'objet dans les listes) donc c'est surement ce qu'a dit ®om

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 164
    Par défaut
    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
    public class C_carte implements Serializable,Comparable<C_carte> {
        //carte 11 = J, 12 = D, 13 = K, 0 = dos
        //couleur 1 = coeur, 2 = carreau, 3 = pique, 4 = trefle
        private int carte;
        private int couleur;
     
        public C_carte(int a, int b)
        {
            carte=a;
            couleur=b;
        }
     
        public int GetCarte()
        {
            return carte;
        }
     
        public int GetCouleur()
        {
            return couleur;
        }
     
        public void SetCarte(int Carte)
        {
            carte = Carte;
        }
     
        public void SetCouleur(int Couleur)
        {
            couleur = Couleur;
        }
     
        public int compareTo(Object other)
        {
              int carte1 = ((C_carte) other).GetCarte();
              int carte2 = this.GetCarte();
              if (carte1 > carte2)  return -1; 
              else if(carte1 == carte2) return 0; 
              else return 1; 
        }
    }

    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
    public class C_jeu_carte {
     
        private ArrayList<C_carte> jeu;
     
        public C_jeu_carte() {
            jeu = new ArrayList<C_carte>();
        }
     
        public void InitJeuCarte()
        {
            for(int i=1;i<5;i++)
                for(int j=1;j<14;j++)
                {
                    C_carte carte = new C_carte(j,i);
                    jeu.add(carte);
                }
            Collections.shuffle(jeu);
        }
     
        public ArrayList<C_carte> GetJeu()
        {
            return jeu;
        }
     
        public void TrierJeu()
        {
            Collections.sort(jeu);
        }
     
    }
    j'ai toujours la meme erreur :'(

Discussions similaires

  1. Comparer 2 arrayList et stocker le résultat dans un 3ème arrayList
    Par cisco.nat dans le forum Collection et Stream
    Réponses: 11
    Dernier message: 14/06/2013, 16h31
  2. comparer et supprimer un élément de arrayList
    Par nypahe dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 27/04/2009, 18h02
  3. comparer deux ArrayList
    Par hibernatefun dans le forum Collection et Stream
    Réponses: 1
    Dernier message: 20/12/2008, 12h01
  4. comparer des ArrayList d'objets
    Par Empty_body dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 26/01/2007, 08h26
  5. [Collection] comparer 2 ArrayList
    Par alliance dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 21/02/2006, 17h40

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