Importez les utilitaires Java nécessaires pour votre génération de nombres aléatoires et objet de jeu. Ajoutez le code suivant en haut de votre déclaration de classe:
importer java.util. *;
Créer un objet mis à enregistrer les numéros que vous générez:
TreeSet myNumbers = new TreeSet ();
Créer une instance de la classe aléatoire pour générer vos nombres aléatoires:
Aléatoire RandGen = new Random ();
Créer une boucle pour générer vos nombres aléatoires. La boucle suivante pour exécutera 20 fois:
for (int i = 0- ILT; 20 i ++) {
// Génération de nombres ici
}
Dans cette boucle, vous pouvez ajouter le traitement pour générer et vérifier vos numéros aléatoires pour les doublons. Modifiez le nombre de 20 pour refléter le nombre total de valeurs aléatoires que vous voulez que votre programme à générer. Dans la boucle, générer un nombre aléatoire:
int RandNum = randGen.nextInt ();
Cela exécutera chaque itération de la boucle.
Ajouter une seconde boucle pour faire face aux numéros en double. Ajoutez le code suivant dans votre première boucle après la ligne de génération de nombres:
de (-) {
// Accord avec les doublons
}
Ceci est une boucle infinie, donc il va exécuter indéfiniment jusqu'à ce que le code rompt explicitement hors de lui. Dans cette boucle, vous pouvez demander à Java de continuer à générer des nombres aléatoires jusqu'à ce qu'il génère un que vous ne l'avez pas déjà utilisé.
Ajouter un test conditionnel sur chaque nombre aléatoire. Insérez le code suivant dans votre boucle infinie:
if (myNumbers.add (RandNum)) percée
d'autre RandNum = randGen.nextInt ();
Lorsque vous essayez d'ajouter un élément à un ensemble, la méthode renvoie vrai ou faux. Si l'élément est pas déjà dans le jeu, il retourne vrai, dans ce cas, votre code peut sortir de la boucle. Si l'élément est déjà dans l'ensemble, la méthode retourne false, dans ce cas, vous pouvez demander à Java de choisir un autre nombre aléatoire. La boucle sera alors exécuter à nouveau, tester la nouvelle valeur pour voir si elle est un duplicata. Ce processus se poursuit jusqu'à ce qu'une nouvelle valeur est trouvée.
Testez votre code. Ajouter la ligne suivante après la boucle infinie, mais encore à l'intérieur de la boucle externe:
System.out.println (RandNum);
Cela vous permettra de voir en un coup d'œil que vos numéros sont tous uniques. Enregistrez votre fichier, compiler votre programme et l'exécuter pour le tester. Naviguez à travers la sortie de vérifier que vos fonctions travaillent.