/ / Comment redimensionner des nombres pseudo aléatoires sur une plage spécifique? - java, aléatoire, graine aléatoire

Comment adapter les nombres pseudo-aléatoires à une plage spécifique? - java, random, random-seed

Comment pourrais-je mettre à l'échelle des nombres aléatoires pour dire 1-10 sans perdre le caractère aléatoire?

Je sais, utiliser% 10 n’est pas une bonne idée.

Et en plus, j'ai besoin d'une valeur de départ pour pouvoir tester sur nombres déterministes,

mais je n'ai pas compris quelle valeur cette graine devrait avoir et je comment cela influence la séquence.

Y a-t-il une différence si c'est haut ou bas?

Merci d'avance.

Réponses:

3 pour la réponse № 1
import java.util.Random;

Random random = new Random( yourSeed );
int randomInt = random.nextInt(10) + 1 ;

le seed n'a d'autre but que de donner au PRNG un point de départ. C'est purement arbitraire et n'influencera pas la distribution des nombres aléatoires.

le nextGaussian() est différent en ce sens qu'il renvoie des nombres à virgule flottante répartis autour d'une courbe en cloche.


0 pour la réponse № 2

Habituellement, lorsque vous essayez d’obtenir une valeur aléatoire, vous utiliserez quelque chose comme ceci:

public int getRandom( int min, int max )
{
return (int) Math.round( Math.random() % (max - min) + min );
}

Ou, comme je viens de me souvenir de la réponse de Stavr00, utilisez l’une des fonctions intégrées de java.util.Random