la boucle while et return

la boucle while et return - Java - Programmation

Marsh Posté le 04-09-2014 à 22:24:00    

Bonjour
 
Mon souci est le suivant :  
 
j'ai mon ArrayList qui stock des prénoms, la fonction responsable de retourner le résultat de mon Iterator est la suivante :  
 
----------------------------------------------------------------------------
String client;
 
public String parcourirListe()
 {  
   
  Iterator<String> parcourir = Compte.iterator<String>();
  while(parcourir.hasNext());
  {
   client = parcourir.next();
  }
   
  return client;      
          }
-----------------------------------------------------------------------------
 
le souci est que le return ne me renvoie que le dernier prénom stocké dans ma liste, ce qui es normale car, la boucle ne se clôture que si la valeur est null mais, je ne sais pas comment faire pour résoudre cela  :pt1cable:  

Reply

Marsh Posté le 04-09-2014 à 22:24:00   

Reply

Marsh Posté le 05-09-2014 à 05:17:51    

Salut

 

"Le resultat d'un iterateur" ca ne veut rien dire.

 

Expliques ce que ta fonction est censee faire et on pourra peut-etre t'aider.

 

Pour le moment tout ce qu'on voit c'est une fonction mal codee qui renvoie le dernier element d'une liste et toi qui nous dis "ca renvoie le dernier element mais je sais pas comment faire autrement".

 

Bref, incomprehensible.


---------------
C'était vraiment très intéressant.
Reply

Marsh Posté le 05-09-2014 à 09:36:18    

Bonjour
 
Merci pour ta rep lasnoufle  :)  
 
je vais essayé de reécrire cela :  
 
j'ai ma class "Client" avec des variables nom, prenom, adresse... et des seteurs et geteurs (setNom, getNom...), rien de special  :)  
 
Et j'ai ma liste dans une autre class "Compte" :  
 
ArrayList<Client> listeClient = new ArrayList<Client>();  
 
qui stock les client une fois créer avec :
 
Client cl0 = new Client(nom,prenom,adress);
Client cl1 = new Client(nom,prenom,adress);
Client cl2 = new Client(nom,prenom,adress);
 
listeClient.add(cl0);
listeClient.add(cl1);
listeClient.add(cl2);
 
donc ma liste listeClient contient 3 client (cl0,cl1,cl2).
 
donc j'ai besoin de recuperer les client (cl0, cl1, cl2) dans une autre class pour faire un traitement dessu de style : valeur.getNom, valeur.getPernom... et pour cela je dois ecrire une fonction avec un return la voici :  
 
 
public String parcourirListe()  
 {  
   
  Iterator<Client> client = Compte.iterator<Client>();  
 
  while(client.hasNext());  
  {  
            valeur = parcourir.next();  
  }  
   
  return valeur;      
  }  
 
mais je n'obtiens que le dernier client cl2 une fois ma liste est parcoru  :).
 
J'espére que c'est plus claire mnt :)
 

Reply

Marsh Posté le 05-09-2014 à 20:11:13    

C'est plus clair mais ca ne veut toujours rien dire.
 
En tres tres court: qu'est ce que tu veux que ta fonction renvoie exactement?
 
Pour le moment, tu dis:

syrano1984 a écrit :

j'ai besoin de recuperer les client (cl0, cl1, cl2) dans une autre class


Si tu as juste besoin de ca, tu devrais deja avoir une methode pour: le getter de ListeClient.
 
La tu declares une fonction qui renvoie une String. Comment tu comptes faire rentrer tous tes clients dans une String exactement? Ca n'a pas vraiment de sens.
 
D'apres ce que tu racontes, la solution "logique" a ce que tu demandes, c'est que ton autre classe appelle le getter de ListeClient pour recuperer la liste, et ensuite a partir de cette liste, utilise son iterateur pour recuperer les clients un par un et "faire un traitement dessu" pour chaque. Mais ce parcours de la liste a bel et bien lieu dans ton autre classe.
 
 


---------------
C'était vraiment très intéressant.
Reply

Sujets relatifs:

Leave a Replay

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