Le langage Java fournit des utilitaires pour générer des nombres aléatoires à l'intérieur de vos programmes. Si vous voulez générer une série de nombres aléatoires, mais vous ne voulez pas l'un d'eux à répéter , vous devez utiliser les tests et les boucles conditionnelles. En ajoutant chaque numéro que vous générez à un objet de collection de jeu , vous pouvez dire immédiatement si l'un d' entre eux sont des doublons. Si le nombre est un duplicata, vous pouvez demander à Java de continuer à générer de nouveaux numéros jusqu'à ce qu'il trouve celui que vous n'avez pas déjà ajouté à l'ensemble . Le processus implique deux boucles et une instruction conditionnelle . Instructions
1
importer les utilitaires Java nécessaires à votre génération de nombres aléatoires et l'objet de set. Ajoutez le code suivant en haut de votre déclaration de classe : import java.util * ;
Créer un objet de jeu de mémoriser les numéros que vous générez : . MyNumbers TreeSet = new TreeSet ();
créer une instance de la classe aléatoire pour générer vos nombres aléatoires : Random RandGen = new random () ;
2
créer une boucle pour générer vos nombres aléatoires. Ce qui suit boucle for exécute 20 fois : for ( int i = 0; i < 20; i + + ) {//numéro de génération ici }
l'intérieur de cette boucle , vous pouvez ajouter le traitement pour générer et vérifier votre aléatoire nombre de doublons. Modifiez le nombre 20 afin de refléter le nombre total de valeurs aléatoires que vous voulez que votre programme à générer. Dans la boucle , de générer un nombre aléatoire : int = randNum randGen.nextInt ();
Cela exécutera chaque itération de la boucle
3
Ajouter une deuxième boucle . pour faire face aux numéros en double . Ajoutez le code suivant à l'intérieur de votre première boucle après la ligne de génération de nombres : for (; ;) {//traiter les doublons }
C'est une boucle infinie , de sorte qu'il exécute sans cesse jusqu'à ce que le code rompt explicitement sur elle . A l'intérieur de 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 n'avez pas déjà utilisé .
4
Ajouter un test conditionnel sur chaque nombre aléatoire . Insérez le code suivant dans votre boucle infinie : si ( myNumbers.add ( randNum ) ) break; 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 n'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 s'il s'agit d'un double. Ce processus se poursuit jusqu'à ce qu'une nouvelle valeur est trouvée .
5
tester votre code . Ajoutez la ligne suivante après la boucle infinie , mais toujours à 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 , compilez votre programme et l'exécuter pour le tester. Parcourez la sortie de vérifier que vos fonctions travaillent .