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 -
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 :)
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 :)
A voir également:
- Problème de return
- Zuma return - Télécharger - Jeux vidéo
- Touche return clavier - Guide
- Return to castle wolfenstein patch fr ✓ - Forum Jeux vidéo
- Problème python return ✓ - Forum Python
- Télécharger return to castle wolfenstein pc gratuit complet - Forum Jeux PC
1 réponse
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 :
Il n'y aurait aucun pb si il n'y avait pas le return res2
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
Super merci ;)