Problème de return

Résolu
Pokermon07 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -  
Pokermon07 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

j'essaye de créer une fonction qui permet de prendre aléatoirement un élément dans une liste de type ArrayList, met cet élément dans une String et le supprime aussitôt de la liste, et ce répété le nombre de fois choisi. Je sais pas si j'ai été très clair ^^

Voici le code :

static String f2(int nbSuppr){

ArrayList<String> Liste = new ArrayList<String>();

Liste.add("x");
Liste.add("y");
Liste.add("z");
Liste.add("a");
Liste.add("b");

int i=0;
int x=4;
do{
int k = (int) (Math.random()*x);
String res = Liste.get(k);
Liste.remove(k);
String res2 = (res + " ");
i++;
x--;
}while(i!=nbSuppr);
return res2;
}


Le problème est qu'il me dit que res2 n'est pas défini...

Merci de me dire ce qui ne va pas :)

1 réponse

Utilisateur anonyme
 
Salut,

Le problème c'est que tu définis ta variable res2 dans ta boucle while. C'est donc une variable locale à ta boucle. Si tu veux l'utiliser dans la boucle et en dehors, il faut que tu la déclare avant, et tu lui donne sa valeure ensuite. Du genre :

static String f2(int nbSuppr){ 

ArrayList<String> Liste = new ArrayList<String>();
String res2 = "";

Liste.add("x");
Liste.add("y");
Liste.add("z");
Liste.add("a");
Liste.add("b");

int i=0;
int x=4;
do{
int k = (int) (Math.random()*x);
String res = Liste.get(k);
Liste.remove(k);
res2 = (res + " ");
i++;
x--;
}while(i!=nbSuppr);

return res2;
}


Il n'y aurait aucun pb si il n'y avait pas le return res2
0
Pokermon07 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
D'accooooord !

Super merci ;)
0