Voici deux façons de générer des nombres aléatoires avec Java.
La méthode Math.random retourne un nombre aléatoire positif de type double supérieure ou égal à 0.0 et inférieur à 1.0.
Exemple :
public class NombreAleatoire { public static void main(String args[]) { // génération d'un double >= 0.0 et < 1.0 double d = Math.random(); System.out.println(d); // La conversion en entier va malheureusement retrancher les chiffres // après le point et la valeur obtenue sera 0. int n = (int)d; System.out.println(n); // toujours 0 // Pour obtenir une valeur entière non nulle, il faut multiplier le // nombre aléatoire avec un nombre supérieur 0 avant la conversion. // Par exemple, la multiplication par 5 donnera au final un nombre // entier égal à 0, 1, 2, 3 ou 4. // génération d'un entier >= 0 et < 5 n = (int)(Math.random() * 5); System.out.println(n); } }
Aucune instruction import n'est nécessaire étant donné aur la classe Math fait partie du paquetage java.lang automatiquement importé dans chaque programme. Notez aussi que random est une méthode de classe (méthode statique) et qu'il n'est donc pas nécessaire de créer une instance de la classe Math.
La méthode Random.nextInt retourne un nombre aléatoire de type int supérieure ou égal à 0 et inférieur au nombre entier passé en paramètre. Ce dernier doit être supérieure à 0, sans quoi il y aura levée d'une IllegalArgumentException.
Exemple :
import java.util.Random; public class NombreAleatoire2 { public static void main(String args[]) { // génération d'un nombre >= 0 et < 5 Random r = new Random(); int n = r.nextInt(5); System.out.println(n); } }