HOWTO · Java
Comment générer un nombre aléatoire entre 1 et 10 en Java
Découvrez les multiples façons dont nous pouvons générer des nombres aléatoires entre une plage de valeurs dans Java
Sur cette page
Nous examinerons les étapes permettant de générer un nombre aléatoire entre 1 et 10 de façon aléatoire dans Java. Nous verrons trois paquets ou classes Java qui peuvent générer un nombre aléatoire entre 1 et 10 et lequel d’entre eux est le plus approprié à utiliser.
random.nextInt() pour générer un nombre aléatoire entre 1 et 10
java.util.Random est un paquet qui vient avec Java, et nous pouvons l’utiliser pour générer un nombre aléatoire entre une plage. Dans notre cas, la plage est de 1 à 10.
Ce paquet a une classe Random qui nous permet de générer plusieurs types de nombres, qu’il s’agisse d’un int ou d’un float.
import java.util.Random;
public class Main {
public static void main(String[] args) {
int min = 1;
int max = 10;
Random random = new Random();
int value = random.nextInt(max + min) + min;
System.out.println(value);
}
}
Production:
6
Pour montrer que la technique ci-dessus fonctionne et génère des nombres aléatoires à chaque fois, nous pouvons utiliser une boucle pour générer un nouveau nombre aléatoire jusqu’à la fin. Comme nous ne disposons pas d’une large gamme de nombres, les nombres aléatoires peuvent être répétés.
import java.util.Random;
public class Main {
public static void main(String[] args) {
Random random = new Random();
for (int i = 1; i <= 10; i++) {
int value = random.nextInt((10 - 1) + 1) + 1;
System.out.println(value);
}
}
Production:
10
7
2
9
2
7
6
4
9
Math.random() pour générer des nombres aléatoires entre 1 et 10
Une autre classe qui peut nous aider à atteindre notre objectif est Math avec de multiples fonctions statiques pour randomiser les nombres. Nous allons utiliser la méthode random(). Elle retourne une valeur aléatoire de type float. C’est pourquoi nous devons la transformer en un int.
public class Main {
public static void main(String[] args) {
int min = 1;
int max = 10;
for (int i = min; i <= max; i++) {
int getRandomValue = (int) (Math.random() * (max - min)) + min;
System.out.println(getRandomValue);
}
}
Production:
5
5
2
1
6
9
3
6
5
7
ThreadLocalRandom.current.nextInt() pour générer des nombres aléatoires entre 1 et 10
La dernière méthode de notre liste pour obtenir des nombres aléatoires entre 1 et 10 est l’utilisation de la classe ThreadLocalRandom qui a été introduite dans le JDK 7 pour les programmes multi-threads.
Nous pouvons voir ci-dessous que nous devons appeler la méthode current() de la classe car nous voulons que les nombres aléatoires soient générés dans le thread courant.
import java.util.concurrent.ThreadLocalRandom;
public class Main {
public static void main(String[] args) {
int min = 1;
int max = 10;
for (int i = 1; i <= 10; i++) {
int getRandomValue = ThreadLocalRandom.current().nextInt(min, max) + min;
System.out.println(getRandomValue);
}
}
}
Production:
3
4
5
8
6
2
6
10
6
2