concaténation objet+entier [resolu]

concaténation objet+entier [resolu] - Java - Programmation

Marsh Posté le 11-12-2002 à 17:22:39    

je cherche à faire une boucle avec construction d'un objet dont le nom est suivi d'un entier qui s'incremente à chaque tour...
et le stocker ensuite dans une liste .
genre:
 
 
while (condition) {
 
Type nom $i = new Type ();
list.add(nom $i);
i++;
}
 
 
la concatenation nom à $i ... ???


Message édité par uriel le 11-12-2002 à 18:47:13
Reply

Marsh Posté le 11-12-2002 à 17:22:39   

Reply

Marsh Posté le 11-12-2002 à 17:55:02    

siouplait,  
personne a jamais fais ça ici ??
 :cry:

Reply

Marsh Posté le 11-12-2002 à 17:55:59    

C marrant à un moment j avais voulu faire la même chose que toi et j'avais vite abandonné (environ 10 minutes). Ca me semblait pas être une bonne idée.  :p
Si tu fais ça  

Code :
  1. for (int i=0; i<nbObjets ; i++)
  2.    list.add(new Type(i));


avec i un attribut représentant l'identifiant de ton objet
ca devrait peut être te convenir mieux ?

Reply

Marsh Posté le 11-12-2002 à 17:57:07    

pleure pas jtai répondu    :)

Reply

Marsh Posté le 11-12-2002 à 18:02:08    


ben merci,
mais en fait la condition du while n'a rien à voir avec l'entier i,  :non:  
et puis le classement  dans la liste pose probleme vu que celle ci augmente de taille au fur et à mesure...
 
on a essayé avec des changements de entiers vers string, mais c pas ça non plus... :heink:  
 
 
 

Reply

Marsh Posté le 11-12-2002 à 18:08:11    

Code :
  1. i=0
  2. while (condition INDEPENDANTE DE I){
  3. list.add(new Type(i));
  4. i++;
  5. }


c pareil hein c bon aussi ...  :sarcastic:

Reply

Marsh Posté le 11-12-2002 à 18:10:51    

et comprends bien, si tu réfléchis un peu, que ton truc c pas possible et que c pas un problème de typage comme tu sembles le penser... :o

Reply

Marsh Posté le 11-12-2002 à 18:11:35    

Normalement on n'a pas besoin de ce nom, seulement de l'objet sauf horreur (le nom ne te sert qu'à désigner l'objet dans la boucle) :

while (condition)
{  
  Type nom$i = new Type ();  
  list.add(nom$i);  
  i++;  
}


DOnc la réponse de prince2lu semble suffisante. Où alors expliques : donne un peu + de code, dis ce que tu veux faire de ta liste ensuite...


---------------
L'erreur est humaine, mais un véritable désastre nécessite un ordinateur.
Reply

Marsh Posté le 11-12-2002 à 18:29:52    

l'unique probleme est le nom de l'objet nouvellement construit, on souhaiterai le voir s'accompagner d'un chiffre qui s'incremente à chaque tour de boucle... :sweat:  
 

Code :
  1. try {
  2.   int i= 0;
  3.   String nomEchReq;
  4.   while (rs.next()) {
  5.   nomEchReq =  "ech" + ((Integer.toString(i)) );
  6.   Echantillon Ech & i = new Echantillon(rs.getInt("id_echantillon" ),
  7.                                     rs.getString("nom_echantillon" ),
  8.                                     rs.getInt("priorite" ),
  9.                                     rs.getString("provenance" ),
  10.                                     rs.getInt("id_emplacement" ),
  11.                                     rs.getInt("quantite" ),
  12.                                     rs.getInt("unite" ),
  13.                                     rs.getInt("concentration" ),
  14.                                     rs.getInt("unite_concentration" ),
  15.                                     rs.getInt("id_nature" ),
  16.                                     rs.getDate ("date_fin_analyse" ),
  17.                                     rs.getDate("DLU" ),
  18.                                     rs.getString("statut_echantillon" ),
  19.                                     rs.getInt("id_labo" ),
  20.                                     rs.getInt("id_lot" ));
  21.    listEchantillon.add(nomEch);
  22.    i++;
  23.    }
  24. } catch (SQLException ex) {
  25. System.out.println("Probleme d'execution du constructeur Echantillon appallé dans Gechantillon" );


 
bon le code est legerement modifier mais l'idée est là, vous voyez? ou c moi qui ne comprends pas votre reponse (c possible)


Message édité par uriel le 11-12-2002 à 18:31:13
Reply

Marsh Posté le 11-12-2002 à 18:33:56    

en plus pour une variable locale...
tu t'en fous completement du nom ! le nom n'est pas un attribut de l'objet, et une fois dans ta liste il est perdu  :heink:

Reply

Marsh Posté le 11-12-2002 à 18:33:56   

Reply

Marsh Posté le 11-12-2002 à 18:46:36    

mais c bien sûr,  
desolé pour cette question  :pt1cable:  
 
je vais juste utiliser l'attribut 'id' pour les classer...
merci  :hello:  

Reply

Marsh Posté le 11-12-2002 à 19:14:20    

... ca fait 2 plombes que je m égosillais pour rien alors ...
 

Citation :


  list.add(new Type(i));  
  avec i un attribut représentant l'identifiant de ton objet  


 
uriel [:teamroulaiz]  
 
:)
 

Reply

Sujets relatifs:

Leave a Replay

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