web-dev-qa-db-fra.com

Obtenir un entier aléatoire dans la plage (x, y]?

Duplicate possible:
Java: générer un nombre aléatoire dans une plage

Comment générer un entier aléatoire i, tel que i appartient à (0,10]?

J'ai essayé d'utiliser ceci:

Random generator = new Random();
int i = generator.nextInt(10);

mais cela me donne des valeurs entre [0,10).

Mais dans mon cas, j’ai besoin qu’ils soient (0,10].

35
Dinara
Random generator = new Random(); 
int i = generator.nextInt(10) + 1;
79
Dmitry B.

Que diriez-vous:

Random generator = new Random();
int i = 10 - generator.nextInt(10);
13
Nick Meyer

Il suffit d’en ajouter un au résultat. Cela transforme [0, 10) en (0,10] (pour les entiers). [0, 10) est simplement une façon plus déroutante de dire [0, 9], et (0,10] est [1,10] ( pour les entiers).

5
Thilo