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.