Créez votre tableau numérique. Si vous ne possédez pas déjà un tableau de numéro 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 en double est le numéro cinq. Préparer deux variables pour stocker la valeur du numéro dupliqué et la position qu'il se trouve à l'intérieur du réseau:
int dupNum = -1-
int dupPos = -1;
En initialisant ces à un négatif, vous serez en mesure de dire si votre processus trouve une valeur en double dans le tableau ou non.
Créer une boucle pour parcourir votre tableau. Ajouter la structure hiérarchique de la boucle suivante à votre programme:
for (int i = 1- i
// process contenus ici
}
Cette boucle va parcourir une fois pour chaque élément dans votre tableau numérique. Dans la boucle, vous pouvez mettre en œuvre le processus de vérification, en comparant chaque élément pour les éléments précédents dans la structure. Conservez la valeur de nombre actuel dans une variable locale à l'intérieur de la boucle:
int currNum = myNums [i];
Cette valeur représente l'entier à la position actuelle chaque fois que les itération de la boucle.
Créer une seconde 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
// Vérifier les valeurs précédentes
}
Dans cette boucle, vous pouvez comparer la valeur actuelle à ceux apparaissant à des positions antérieures dans le tableau. De cette façon, vous pouvez dire si la valeur actuelle est un duplicata.
Comparez le nombre actuel de valeurs précédentes. Dans votre deuxième boucle, ajoutez l'instruction conditionnelle suivante:
if (currNum == myNums [j]) {
// La valeur est un doublon
}
Si ce test renvoie une valeur vraie, cela signifie que l'élément de réseau 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 quoi 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'ils seront accessibles lorsque la boucle se termine. Aucune autre point existe pour continuer avec la boucle à ce stade, si l'instruction break empêche de itérer plus loin.
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 continuera même si 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 (dupNumgt; = 0) pause;
Si la copie n'a pas été trouvé, la boucle externe continuera à exécuter. Vous pouvez ajouter la déclaration de test après votre boucle extérieure ferme:
System.out.println ("Numéro dupliqué: " + DupNum + "Position: " DupPos +);
Si votre code n'a pas situé un double, deux variables seront toujours stocker des valeurs d'un négatif.