Partage
  • Partager sur Facebook
  • Partager sur Twitter

Manipulations des ArrayList()

Sujet résolu
    26 janvier 2012 à 18:35:58

    Bonjour à tous les max du SDZ !!!
    Débutant en java , j'ai voulu avec ArrayList créer un tableau Dynamique d'objets dont voici le code (j'ai supprimé une partie du code) .
    Quand j’exécute ce code (voir ci-dessous), toute les valeurs qui sont dans ma collection ArrayList sont identiques et je ne pas comment résoudre le problème ,car j'aimerai avoir la possibilité de stocker et d'ensuite de modifier chaque objet contenu dans ma collection ArrayList.
    Des suggestions ??? Merci d'avance !!!

    voici la classe Queen
    public class Queen {
           /**
            *
            * Constructeur de la classe
            */
            private int Age ;
            public Queen()
            {
                Age = (int) (Math.random() * 19) + 1 ;
                
            }
            public int GetAge()
            {
                  return Age;
            }
            public int SetAge()
            {
                  Age++ ;
            }
    


    voici le main
    public class Jeu {
           public static void main(String[] args) {
                  
                 Queen queen = null ;
                 ArrayList<Queen> QUEEN = new ArrayList <Queen>() ;
                 for(int i = 0;i<10;i++)
                 {
                    queen = new Queen() ;
                    QUEEN.add(queen) ;
                 }
                 System.out.println("************AVANT*****************");
                 for(int i = 0;i<10;i++)
                 {    
                     queen = QUEEN.get(i) ;
                     System.out.println("donnée à l'indice " + i + " = " + queen.GetAge());
                 }
                 for(int i= 0;i<10;i++)
                 {
                    queen = QUEEN.get(i) ;
                    queen.SetAge() ;
                    QUEEN.add(i,queen) ;
                 }
                 System.out.println("************APRES*****************");
                 for(int i = 0;i<10;i++)
                 {    
                     queen = QUEEN.get(i) ;
                     System.out.println("donnée à l'indice " + i + " = " + queen.GetAge());
                 }
                 
    
           }
    }
    

    • Partager sur Facebook
    • Partager sur Twitter
      26 janvier 2012 à 19:14:41

      Qu'est-ce qui t'es affiché dans ta console lorsque tu exécute ton programme ?
      • Partager sur Facebook
      • Partager sur Twitter
        26 janvier 2012 à 19:19:43

        Et si t'essai comme ca?

        public class Jeu {
               public static void main(String[] args) {
                     
                     ArrayList<Queen> QUEEN = new ArrayList <Queen>() ;
                     for(int i = 0;i<10;i++)
                     {
                        Queen queen = new Queen() ;
                        QUEEN.add(queen) ;
                     }
                     System.out.println("************AVANT*****************");
                     for(int i = 0;i<10;i++)
                     {    
                         queen = QUEEN.get(i) ;
                         System.out.println("donnée à l'indice " + i + " = " + queen.GetAge());
                     }
                     for(int i= 0;i<10;i++)
                     {
                        queen = QUEEN.get(i) ;
                        queen.SetAge() ;
                        QUEEN.add(i,queen) ;
                     }
                     System.out.println("************APRES*****************");
                     for(int i = 0;i<10;i++)
                     {    
                         queen = QUEEN.get(i) ;
                         System.out.println("donnée à l'indice " + i + " = " + queen.GetAge());
                     }
                     
        
               }
        }
        
        • Partager sur Facebook
        • Partager sur Twitter
          27 janvier 2012 à 8:04:58

          Il existe un objet java pour tirer des nombres aléatoires : il s'appelle Random et permet d'avoir directement un nombre entier.
          • Partager sur Facebook
          • Partager sur Twitter
            27 janvier 2012 à 18:03:32

            Merci pour vos suggestions .j'ai finalement trouvé la solution
            dont voici le bout du code
            public class Jeu {
                   public static void main(String[] args) {
                         
                         ArrayList<Queen> QUEEN = new ArrayList <Queen>() ;
                         for(int i = 0;i<10;i++)
                         {
                            Queen queen = new Queen() ;
                            QUEEN.add(queen) ;
                         }
                         System.out.println("************AVANT*****************");
                         for(int i = 0;i<10;i++)
                         {    
                             
                             System.out.println("donnée à l'indice " + i + " = " + QUEEN.get(i).GetAge());
                         }
                         for(int i= 0;i<10;i++)
                         {
                     
                            QUEEN.get(i).SetAge() ;
                         }
                         System.out.println("************APRES*****************");
                         for(int i = 0;i<10;i++)
                         {    
                             System.out.println("donnée à l'indice " + i + " = " + QUEEN.get(i).GetAge());
                         }
                         
            
                   }
            
            • Partager sur Facebook
            • Partager sur Twitter

            Manipulations des ArrayList()

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown