Comment générer facilement des nombres aléatoires en Java?
Dans ce tutoriel, nous allons découvrir comment générer un nombre aléatoire à l’aide de la classe Random de Java et avec la méthode Math.Random.
Générer un nombre aléatoire en utilisant Java
Java fournit des moyens intéressants pour générer des nombres aléatoires, non seulement pour des calcules scientifiques, mais également pour d’autres applications, comme la création d’un identifiant de session unique sur un serveur Web, cryptographie, sécurité, mathématiques, etc.
Il y a deux façons de le faire:
- Utilisation de la class Random (dans le package java.util).
- Utilisation de la classe java Math.random (toutefois, cela générera un double entre 0.0 et 1.0).
Exemple: utilisation de la classe Random
Supposons que nous devons générer 10 nombres aléatoires entre 0 et 100.
import java.util.Random; public class RandomNbr{ public static void main(String[] args) { Random obj = new Random(); for (int i = 0; i < 10; i++){ int nbr = obj.nextInt(100); System.out.println("Nombre aléatoire : " + nbr); } } }
Un objet de la classe Random est initialisé en tant que « obj ». La classe Random possède la méthode « nextInt ». Cela fournira un nombre aléatoire basé sur l’argument spécifié comme limite supérieure, alors que la limite inférieure est fixée à 0. Nous obtenons ainsi 10 nombres aléatoires affichés.
Exemple: utilisation de Math.Random
La classe Math contient plusieurs méthodes permettant d’exécuter diverses opérations numériques, telles que le calcul de l’exponentielle, logarithmes, etc. L’une de ces méthodes est random(). Cette méthode renvoie une valeur double, supérieure ou égale à 0,0 et inférieure à 1,0. Les valeurs renvoyées sont choisies de manière pseudo-aléatoire. Cette méthode ne peut générer que des nombres aléatoires de type Doubles. Le programme suivant explique comment utiliser cette méthode:
public class RandomNbr{ public static void main(String[] args) { for(int i = 0; i < 10; i++){ System.out.println(Math.random()); } } }
Conclusion
La classe java.util.Random implémente ce qu’on appelle généralement un générateur de congruence linéaire (GCL). Il est conçu pour être rapide mais ne répond pas aux exigences d’utilisation en temps réel. Par exemple, utilisez lors des calcules scientifiques, de la cryptographie, etc.