Générer un nombre aléatoire dans une plage spécifiée en Java
-
Générer un nombre aléatoire à l’aide de la classe
ThreadLocalRandomen Java -
Générer un nombre aléatoire à l’aide de la classe
Mathen Java -
Générer un nombre aléatoire à l’aide de la classe
Randomen Java -
Générer un nombre aléatoire à l’aide de la classe
Randomen Java -
Générer un nombre aléatoire en utilisant la classe
RandometIntStreamen Java -
Générer un nombre aléatoire en utilisant la méthode
nextFloaten Java -
Générer un nombre aléatoire à l’aide de la classe
RandomDataen Java -
Générer un nombre aléatoire en utilisant la classe
SecureRandomen Java -
Générer un nombre aléatoire à l’aide de la classe
RandomUtilsen Java
Ce didacticiel explique comment générer un nombre aléatoire dans une plage spécifiée en Java.
Il existe plusieurs manières de générer un nombre aléatoire en Java, comme la méthode nextInt() de la classe ThreadLocalRandom, la méthode random() de la classe Math, la méthode nextInt() du Classe Random, la méthode ints() de la classe Random, la méthode nextFloat() de la classe Random et la classe RandomUtil, etc.
Générer un nombre aléatoire à l’aide de la classe ThreadLocalRandom en Java
Le package concurrent Java fournit une classe ThreadLocalRandom qui a la méthode nextInt(). Cette méthode peut générer un entier aléatoire dans la plage spécifiée. Voir l’exemple ci-dessous.
import java.util.concurrent.ThreadLocalRandom;
public class SimpleTesting {
public static void main(String[] args) {
int min_val = 10;
int max_val = 100;
ThreadLocalRandom tlr = ThreadLocalRandom.current();
int randomNum = tlr.nextInt(min_val, max_val + 1);
System.out.println("Random Number: " + randomNum);
}
}
Production:
Value in double: 12.9
Value in int: 12
Générer un nombre aléatoire à l’aide de la classe Math en Java
La classe Java Math peut être utilisée pour générer un nombre aléatoire dans la plage spécifiée. Ici, nous utilisons la méthode random() de la classe Math pour obtenir un nombre aléatoire. Voir l’exemple ci-dessous.
public class SimpleTesting {
public static void main(String[] args) {
int min_val = 10;
int max_val = 100;
double randomNum = Math.random() * (max_val - min_val);
System.out.println("Random Number: " + randomNum);
}
}
Production:
Id: 1212
Name: Samre
Générer un nombre aléatoire à l’aide de la classe Random en Java
La classe Random de Java peut générer un entier aléatoire dans la plage spécifiée en utilisant la méthode nextInt(), qui renvoie une valeur entière. Voir l’exemple ci-dessous.
import java.util.Random;
public class SimpleTesting {
public static void main(String[] args) {
int min_val = 10;
int max_val = 100;
Random ran = new Random();
int x = ran.nextInt(max_val) + min_val;
System.out.println("Random Number: " + x);
}
}
Production:
Id: 1212
Name: Samre
Générer un nombre aléatoire à l’aide de la classe Random en Java
C’est une autre solution pour obtenir un entier aléatoire dans la plage spécifiée. Ici, nous utilisons la méthode nextInt() de la classe Random avec différents paramètres. Voir l’exemple ci-dessous.
import java.util.Random;
public class SimpleTesting {
public static void main(String[] args) {
int min_val = 10;
int max_val = 100;
Random rand = new Random();
int randomNum = min_val + rand.nextInt((max_val - min_val) + 1);
System.out.println("Random Number: " + randomNum);
}
}
Production:
Random Number: 75
Générer un nombre aléatoire en utilisant la classe Random et IntStream en Java
Ici, nous utilisons la méthode ints() de la classe Random qui renvoie un flux de nombres aléatoires. Nous utilisons la méthode forEach() pour afficher tous les nombres entiers aléatoires générés par la méthode ints(). Voir l’exemple ci-dessous.
import java.util.Random;
import java.util.stream.IntStream;
public class SimpleTesting {
public static void main(String[] args) {
int min_val = 10;
int max_val = 100;
Random rand = new Random();
IntStream stream = rand.ints(5, min_val, max_val);
stream.forEach(System.out::println);
}
}
Production:
94
35
90
74
47
Générer un nombre aléatoire en utilisant la méthode nextFloat en Java
La classe Random fournit une méthode nextFloat() pour générer un nombre aléatoire de type float. Si nous voulons obtenir un nombre aléatoire de type flottant, cette méthode est utile. Voir l’exemple ci-dessous.
import java.util.Random;
public class SimpleTesting {
public static void main(String[] args) {
int min_val = 10;
int max_val = 100;
Random rand = new Random();
float rand_val = rand.nextFloat() * (max_val - min_val);
System.out.println(rand_val);
}
}
Production:
71.88764
Générer un nombre aléatoire à l’aide de la classe RandomData en Java
Si vous travaillez avec la bibliothèque apache commons, utilisez la classe RandomData. Cette classe fournit une méthode nextInt() qui renvoie une valeur entière. Nous pouvons utiliser cette méthode pour générer des entiers aléatoires dans la plage spécifiée. Voir l’exemple ci-dessous.
import org.apache.commons.math.random.RandomData;
import org.apache.commons.math.random.RandomDataImpl;
public class SimpleTesting {
public static void main(String[] args) {
int min_val = 10;
int max_val = 100;
RandomData randomData randomData = new RandomDataImpl();
int number = randomData.nextInt(min_val, max_val);
System.out.println(number);
}
}
Production:
72
Générer un nombre aléatoire en utilisant la classe SecureRandom en Java
La classe SecureRandom appartient au package security de Java qui permet de créer un nombre aléatoire sécurisé. Ici, nous utilisons la classe Date pour générer une graine puis la méthode nextInt() pour générer un entier aléatoire. Voir l’exemple ci-dessous.
import java.security.SecureRandom;
import java.util.Date;
public class SimpleTesting {
public static void main(String[] args) {
int min_val = 10;
int max_val = 100;
SecureRandom rand = new SecureRandom();
rand.setSeed(new Date().getTime());
int randomNum = rand.nextInt((max_val - min_val) + 1) + min_val;
System.out.println(randomNum);
}
}
Production:
65
Générer un nombre aléatoire à l’aide de la classe RandomUtils en Java
Nous pouvons utiliser la classe RandomUtil de la bibliothèque apache commons pour générer des entiers aléatoires. La méthode nextInt() de cette classe retourne une classe entière. Voir l’exemple ci-dessous.
import org.apache.commons.lang3.RandomUtils;
public class SimpleTesting {
public static void main(String[] args) {
int min_val = 10;
int max_val = 100;
RandomUtils random = new RandomUtils();
int randomNum = random.nextInt(min_val, max_val);
System.out.println(randomNum);
}
}
Production:
66
Article connexe - Java Math
- Évaluer une expression mathématique en Java
- Calculer la distance euclidienne en Java
- Calculer la distance entre deux points en Java
- Simplifier ou réduire les fractions en Java
- Mod de nombres négatifs en Java
- Méthode pour calculer la factorielle en Java