Comportement étrange du Random
Bonjour à tous,
Voilà, il se trouve que mon random à un comportement bizarre :
Quand je lance le programme (android), le générateur doit faire deux fois cet algo, et il retrourne par paire le même résultat (mais différent à chaque lancement).
Voici la fonction, ce sera plus parlant qu'un discours :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
LinkedList<Integer> res = new LinkedList<Integer>();
int nbBats = laVille.getLesBatiments().length;
int nbRemplis = 0;
int nextBat;
if (nbEnigmes > nbBats || nbEnigmes < 0) {
nbEnigmes = nbBats;
}
while (nbRemplis < nbEnigmes) {
Random rdm = new Random();
int rand = rdm.nextInt(Integer.MAX_VALUE);
Log.i("sexe","random = "+rand);
nextBat = rand % nbEnigmes;
if (!res.contains(nextBat)) {
res.add(nextBat);
nbRemplis++;
}
}
return res;
} |
Que le random soit dans ou hors de la boucle c'est pareil :(...
Donc l'algo me retourne une liste de nbEnigmes de long, avec une seule fois chaque nombre entre 0 et nbEnigmes (ce qui est bon).
Ceci est très bizarre :roll: