Si vous avez un tableau numérique dans un programme Java et il contient une valeur en double indésirables, vous devrez peut-être trouver. L'utilisation des structures en boucle , votre code peut parcourir votre tableau, en vérifiant à chaque valeur pour voir si elle a déjà eu lieu et vous permettant de savoir où le duplicata est . En intégrant une boucle à l'intérieur de l'autre, votre code peut vérifier chaque élément contre les éléments précédents. Offrez-vous une compréhension claire du processus en pensant tout le chemin à travers ce qui se passera lorsque votre code s'exécute à chaque fois que vous ajoutez une nouvelle structure de contrôle. Instructions 1 Créer votre tableau numérique. Si vous n'en avez pas déjà un tableau de nombres dans votre programme, vous pouvez utiliser l'exemple suivant : int [ ] myNums = { 3, 5, 1 , 6, 5 , 8, 7 }; Cette ligne déclare et instancie un tableau avec des valeurs entières de type primitif . Comme vous pouvez le voir, la valeur double est le numéro cinq . Préparer deux variables pour stocker la valeur du numéro en double et la position qu'il se trouve à l'intérieur du réseau : dupNum int = -1; dupPos int = -1 ; En initialisant à ceux-ci une négative , vous serez en mesure de dire si votre processus trouve une valeur en double dans le tableau ou pas . 2 Créer une boucle pour parcourir votre tableau. Ajouter la structure hiérarchique de la boucle suivante à votre programme : for (int i = 1; i < myNums.length ; i + +) { //Traitement contenu ici} Cette boucle va parcourir une fois pour chaque élément de votre tableau numérique. Dans la boucle , vous pouvez mettre en œuvre la procédure de vérification , en comparant chaque élément pour les éléments précédents dans la structure. Conservez la valeur du numéro courant dans une variable locale à l'intérieur de la boucle : . Int currNum = myNums [i] ; Cette valeur représente le nombre entier à la position actuelle chaque fois que la boucle parcourt 3 créer une deuxième boucle à l'intérieur de la première. Ajouter le contour de la boucle après vous stockez la valeur actuelle de sa variable : for (int j = 0; j < i , j + + ) {//vérifier les valeurs précédentes } l'intérieur de cette boucle , vous pouvez comparer la valeur actuelle à ceux figurant aux positions antérieures dans le tableau. De cette façon, vous pouvez dire si la valeur actuelle est un doublon . 4 comparer le nombre actuel aux valeurs précédentes. Dans votre deuxième boucle for , ajoutez l'instruction conditionnelle suivante : if ( currNum == myNums [j] ) {//la valeur est un doublon } Si ce test renvoie une valeur true , cela signifie que l'élément de tableau de courant est égale à une précédente , avec la position indiquée par le second compteur de boucle . Dans la condition if, charger le programme ce qu'il faut faire quand il rencontre un duplicata : dupNum = currNum ; dupPos = i; break; Le code définit les valeurs du nombre dupliqué et sa position , de sorte qu'elles soient accessibles lorsque la boucle se termine . Aucune autre point existe pour continuer avec la boucle , à ce stade , si l'instruction break arrête de itérer plus loin. 5 Sortez de la première boucle . L'instruction break ne rompt votre code à partir de la boucle la plus proche. Cela signifie que la boucle extérieure se poursuivra même lorsque vous avez trouvé la valeur en double . Après la parenthèse fermante pour la boucle à l'intérieur , ajoutez l'instruction conditionnelle suivante : if ( dupNum > = 0) break; Si la copie n'a pas été trouvé , la boucle extérieure continuera l'exécution . Vous pouvez ajouter l'instruction de test après votre boucle extérieure ferme : System.out.println (" nombre dupliqué :" + dupNum + " , la position :" + dupPos ) ; < p> Si votre code n'a pas trouve un double, deux variables sera encore stocker des valeurs de négatif.
|