Comment puis-je générer un échantillon aléatoire int
dans une fourchette spécifique ?
J'ai essayé les éléments suivants, mais ils ne fonctionnent pas :
Tentative 1 :
randomNum = minimum + (int)(Math.random() * maximum);
Bug : randomNum
peut être plus grande que maximum
.
Tentative 2 :
Random rn = new Random();
int n = maximum - minimum + 1;
int i = rn.nextInt() % n;
randomNum = minimum + i;
Bug : randomNum
peut être plus petite que minimum
.
0 votes
Lorsque vous avez besoin d'un grand nombre de nombres aléatoires, je ne recommande pas la classe Random de l'API. Elle a juste une période trop petite. Essayez la classe Torsion de Mersenne au lieu de cela. Il y a une implémentation Java .
20 votes
Avant de poster une nouvelle réponse, pensez qu'il y a déjà plus de 65 réponses à cette question. Veillez à ce que votre réponse apporte des informations qui ne figurent pas parmi les réponses existantes.
0 votes
randomNum = minimum + (int)(Math.random() * (maximum - minimum);