Problème pour empiler des structures

Problème pour empiler des structures - Java - Programmation

Marsh Posté le 25-12-2007 à 18:31:17    

Bonsoir, et joyeux noel :)
 
Désolé pour mon titre peu évocateur, mais je n'avais pas d'inspiration  :sweat:  
 
 
Alors je vous explique mon problème, prenons l'exemple simple de ce bout de code:
 
Déja une structure bateau :

Code :
  1. class Date
  2. {
  3. public int jour;
  4. }


 
 
Ensuite un bout de code qui prend quelque valeurs de type Date, et qui les mets dans une pile :

Code :
  1. Date test = new Date();
  2. Stack<Date> test2 = new Stack<Date>();
  3. for (int i=0; i<3;i++)
  4. {
  5.  test.jour = readInt();
  6.  test2.push(test);
  7. }


 
 
Et bien j'ai remarqué en utilisant le débogueur de eclipse, que a chaque fois le programme rajoutant bien un element de type Date dans la pile, mais changeait la valeurs des autres elements, ce qui fait qu'a la fin ici, je vais avoir 3 élements dans la pile, mais tous les éléments auront la valeurs de la dernière valeurs entrée.
[ps: readInt() c'est pour lire un entier écrit par l'user ]
 
 
merci d'avance, et bonne soiré.

Reply

Marsh Posté le 25-12-2007 à 18:31:17   

Reply

Marsh Posté le 25-12-2007 à 19:06:42    

c'est parce que tu pousses le même objet dans la pile a chaque fois tout simplement.

Code :
  1. Stack<Date> test2 = new Stack<Date>();
  2. for (int i=0; i<3;i++)
  3. {
  4.   date d = new date();
  5.   d.jour= readInt();
  6.   test2.push(d);
  7. }


Message édité par breizhbugs le 25-12-2007 à 19:08:14
Reply

Marsh Posté le 25-12-2007 à 19:47:13    

Rhaa !! Ce n'était pourtant pas bien compliqué , et pourtant sa m'a bien pris le choux !  
 
Merci beaucoup mon programme marche maintenant :)
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed