Random en Java
Demandez à Java un nombre aléatoire dans une petite plage et affichez-le. Dans Dice.java, importez java.util.Random, gardez la classe public Dice, construisez Random rng = new Random(42);, stockez int roll = rng.nextInt(6) + 1;, et affichez roll. Compilez avec javac Dice.java et lancez java Dice. Avec la seed 42, l’écran doit montrer 3. Une seconde démo affiche deux tirages sur le même générateur, donc l’écran montre 3, puis 4. Laissez Summary pour la page suivante — cette leçon porte sur des nombres aléatoires avec une seed fixe pour l’entraînement, pas sur une conclusion de parcours.
Construire un tirage avec seed
La page sur les dates gelait un jour de calendrier. Cette page demande un tirage de dé. Ouvrez Dice.java. Gardez le nom de classe public Dice. Supprimez les démos de dates Stamp restantes si elles noient l’histoire Random, les sommes de formatage Yard, les fichiers de naming, et tout Scanner clavier. Le programme ne doit pas attendre une saisie.
Ajoutez l’import en haut du fichier :
import java.util.Random;
Dans Dice.main, construisez un générateur avec une seed pour que chaque exécution de ce fichier pédagogique répète la même première valeur :
Random rng = new Random(42);
int roll = rng.nextInt(6) + 1;
System.out.println(roll);
Seul nextInt(6) renverrait 0 à 5. Ajouter 1 décale la plage vers 1 à 6, comme un dé à six faces. La seed 42 n’est pas magique — elle verrouille seulement la séquence pour cette leçon afin que le quiz et l’écran concordent. Vous ne devinez pas un nouveau nombre à chaque lecture de la page.
import java.util.Random;
public class Dice {
public static void main(String[] args) {
Random rng = new Random(42);
int roll = rng.nextInt(6) + 1;
System.out.println(roll);
}
}
Depuis le dossier qui contient Dice.java, lancez javac Dice.java. Quand parenthèses, accolades et points-virgules s’alignent, javac n’écrit aucune ligne propre. Puis lancez java Dice — pas java Dice.java. Retirez la fin .java sur la commande d’exécution. Gardez une seule classe public dans le fichier pour que le nom corresponde à Dice.
L’écran affiche 3. Parcourez l’exécution une fois. Java démarre dans Dice.main. Le constructeur mémorise la seed 42. Le premier appel nextInt(6) tire une valeur dans 0..5, puis + 1 donne 1..6. Avec cette seed, ce premier tirage devient 3. L’affichage écrit 3.
Dites la règle de départ en regardant l’écran : importez Random, construisez avec une seed quand vous voulez une démo répétable, appelez nextInt(6) + 1 pour une plage type dé, affichez le tirage. N’inventez pas un chapitre Summary sur cette page. Summary attend la leçon suivante. Ne retirez pas le + 1 si vous voulez 1 à 6.
Si vous voyez encore 2026-03-15 d’un fichier dates Stamp restant, basculez sur le fichier pédagogique Random et relancez java Dice. Si javac dit que Random est introuvable, vérifiez la ligne d’import en haut de Dice.java.
Un second tirage sur le même générateur
Un tirage prouve la plage. Un second appel sur le même objet Random poursuit la séquence. Gardez le même constructeur avec seed. Affichez deux tirages :
System.out.println(rng.nextInt(6) + 1);
System.out.println(rng.nextInt(6) + 1);
Avec la seed 42, le premier affichage reste 3. Le second affiche 4. Les deux valeurs restent dans 1..6. Le générateur se souvient où il en est ; ne reconstruisez pas new Random(42) entre ces deux lignes si vous voulez la valeur suivante dans la même séquence.
import java.util.Random;
public class Dice {
public static void main(String[] args) {
Random rng = new Random(42);
System.out.println(rng.nextInt(6) + 1);
System.out.println(rng.nextInt(6) + 1);
}
}
Compilez avec javac Dice.java et relancez java Dice. L’écran montre 3, puis 4. Parcourez l’exécution une fois. La même seed démarre la séquence. Le premier nextInt(6) + 1 affiche 3. Le second appel avance et affiche 4. Rien n’attend le clavier. Rien ne stocke un jour de calendrier.
Gardez les deux démos comme deux formes pédagogiques. D’abord prouvez un tirage avec seed. Ensuite prouvez deux tirages d’affilée. Les deux formes partagent le même import et la même seed. La seconde forme ajoute seulement un autre appel nextInt.
Si vous reconstruisez new Random(42) avant chaque affichage, chaque ligne redémarre la séquence et vous pouvez voir 3 deux fois. C’est une autre habitude. Cette page garde un générateur pour la démo à deux tirages afin que la deuxième ligne avance.
Random n’est ni un calendrier ni Summary
Les dates stockaient un jour fixe que vous pouviez afficher et découper. Random tire des nombres aléatoires dans une plage. Summary refermera le parcours sur la page suivante. Ne mélangez pas ces trois rôles dans un seul fichier débutant aujourd’hui.
Sans seed, chaque exécution peut montrer un premier tirage différent. C’est normal pour des jeux plus tard. Cette leçon utilise la seed 42 pour que l’écran pédagogique et le quiz partagent une réponse. Vous apprenez le même appel nextInt dans tous les cas.
Quand l’import manque, javac échoue avant toute ligne à l’écran. Quand vous oubliez + 1, un 0 peut apparaître, ce qui n’est pas une face standard de dé. Gardez l’import, gardez le décalage, et lancez java Dice jusqu’à ce que la démo à un tirage montre 3 ou que celle à deux tirages montre 3 puis 4.
Si des démos de dates traînent encore à côté, gardez-les comme historique. Pour cette leçon, exécutez le fichier pédagogique Random afin que l’écran montre des nombres aléatoires dans la plage, pas 2026-03-15. Si javac se plaint de classes public en double, ne gardez public que Dice.
Plage, seed et l’habitude du + 1
nextInt(6) signifie six valeurs de départ possibles : 0, 1, 2, 3, 4 et 5. L’expression nextInt(6) + 1 les mappe vers 1, 2, 3, 4, 5 et 6. Dites ce mapping à voix haute une fois en regardant le code. L’argument limite compte les valeurs de départ, pas la face la plus haute après le décalage.
La seed verrouille quel chemin parmi ces faces vous voyez d’abord dans ce fichier pédagogique. Changer la seed change la séquence. Omettre la seed change la séquence d’une exécution à l’autre. Pour l’entraînement noté sur cette page, gardez 42 afin que la première face reste 3.
Ne traitez pas Random comme un remplacement de LocalDate. Ne traitez pas un tirage comme une règle d’indentation de formatage. Chaque page précédente gardait son propre rôle. Cette page ne garde que les nombres aléatoires.
Avant Summary
Vous pouvez importer Random, construire new Random(42), lancer nextInt(6) + 1, voir 3 sur une exécution, et voir 3 puis 4 sur la démo à deux tirages. Compilez Dice.java et lancez java Dice pour les démos conservées. La plage est restée 1..6 ; la seed a stabilisé la séquence pour l’enseignement. La page suivante est Summary, où vous regardez en arrière sur le parcours Java.
Gardez les démos de dé avec seed pour une paire claire de nombres aléatoires. Écartez les fichiers de dates de cette page quand vous pratiquez Random. Écartez les fichiers Summary jusqu’à cette leçon. Ces trois habitudes sont le point de contrôle avant d’avancer. Quand l’écran à un tirage montre 3 ou celui à deux tirages montre 3 puis 4, Random a fait son travail pour cette leçon et vous êtes prêt pour le sujet Summary sur la page suivante.
Un dernier passage dans le dossier : une seule Dice public, import présent, new Random(42), nextInt(6) + 1, pas d’attente clavier, pas de types calendrier forcés. Relancez une fois javac Dice.java et java Dice sur la démo que vous gardez ouverte. Si l’écran montre encore 3 ou 3 puis 4, la forme Random est solide et le parcours peut passer à Summary à la page suivante. Préférez une habitude aléatoire claire par lecture afin que chaque passage enseigne la même carte.
🧠 Testez Vos Connaissances
Testez Vos Connaissances
Mettez-vous au défi avec ce quiz interactif et voyez à quel point vous comprenez le sujet
📝 Instructions
- Lisez chaque question attentivement
- Sélectionnez la meilleure réponse pour chaque question
- Vous pouvez refaire le quiz autant de fois que vous le souhaitez
- Votre progression sera affichée en haut