Problème d'écrasement des objets dans une collection
Bonjour ! J'ai un problème avec mon programme. En effet, lorsque j'ajoute des objets à ma collection, les précédentes sont effacées !
Code:
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
|
public class Gestion_Rectangles
{
public static void main(String[] args)
{
Rectangle Rectangle1, Rectangle2, Rectangle3, Rectangle4, Rectangle5, Rectangle6;
int longueur;
int largeur;
Rectangle1=new Rectangle();
Rectangle2=new Rectangle();
Rectangle3=new Rectangle();
Rectangle4=new Rectangle();
Rectangle5=new Rectangle();
Rectangle6=new Rectangle();
ArrayList<Rectangle>Rectangles=new ArrayList<Rectangle>(6);
longueur = Saisie.lire_int("Quelle est la longueur de votre rectangle ?");
largeur = Saisie.lire_int("Quelle est la largeur de votre rectangle ? ");
Rectangle1.SetLongueur(longueur);
Rectangle1.SetLargeur(largeur);
Rectangles.add(Rectangle1);
longueur = Saisie.lire_int("Quelle est la longueur de votre rectangle ?");
largeur = Saisie.lire_int("Quelle est la largeur de votre rectangle ? ");
Rectangle2.SetLongueur(longueur);
Rectangle2.SetLargeur(largeur);
Rectangles.add(Rectangle2);
longueur = Saisie.lire_int("Quelle est la longueur de votre rectangle ?");
largeur = Saisie.lire_int("Quelle est la largeur de votre rectangle ? ");
Rectangle3.SetLongueur(longueur);
Rectangle3.SetLargeur(largeur);
Rectangles.add(Rectangle3);
longueur = Saisie.lire_int("Quelle est la longueur de votre rectangle ?");
largeur = Saisie.lire_int("Quelle est la largeur de votre rectangle ? ");
Rectangle4.SetLongueur(longueur);
Rectangle4.SetLargeur(largeur);
Rectangles.add(Rectangle4);
longueur = Saisie.lire_int("Quelle est la longueur de votre rectangle ?");
largeur = Saisie.lire_int("Quelle est la largeur de votre rectangle ? ");
Rectangle5.SetLongueur(longueur);
Rectangle5.SetLargeur(largeur);
Rectangles.add(Rectangle5);
longueur = Saisie.lire_int("Quelle est la longueur de votre rectangle ?");
largeur = Saisie.lire_int("Quelle est la largeur de votre rectangle ? ");
Rectangle6.SetLongueur(longueur);
Rectangle6.SetLargeur(largeur);
Rectangles.add(Rectangle6);
for (Rectangle Rect : Rectangles)
{
System.out.println(Rect.GetLargeur()+ " " +Rect.GetLongueur());
}
}
} |
Il s'agit d'un petit programme qui a justement pour but de comprendre comment gérer les collections. On doit y entrer la largeur et la longueur du rectangle 6 fois. Je devrais par exemple en résultat 3 2, 4 5, 6 3, 7 8, 5 4, 6 5 mais j'obtiens 6 5, 6 5, 6 5, 6 5, 6 5, 6 5 :( !
Si quelqu'un a la réponse, serait-il possible d'expliquer la démarche s'il vous plait ? J'aimerai vraiment comprendre !
Merci beaucoup !