“Conocimientos Programación>Programación Java

Cómo encontrar el número de duplicados en un array en Java

2015/12/4
Si usted tiene una matriz numérica en un programa Java y contiene un valor duplicado no deseado , puede ser necesario para encontrarlo. Utilizando estructuras de bucle , el código puede recorrer la matriz , comprobando cada valor para ver si ya se ha producido y que le permite saber que el duplicado es . Al incorporar un bucle dentro de otro , el código puede comprobar cada elemento contra los elementos anteriores. Dése una comprensión clara del proceso , pensando todo el camino a través de lo que va a pasar cuando el código se ejecuta cada vez que se agrega una nueva estructura de control. Instrucciones
1

Crea tu matriz numérica . Si aún no tiene una matriz número en su programa, puede utilizar el ejemplo siguiente :

int [ ] myNums = { 3 , 5 , 1 , 6 , 5 , 8 , 7 } ;

Esta línea declara y crea una instancia de una matriz con valores enteros de tipo primitivo . Como se puede ver, el valor duplicado es el número cinco. Prepare dos variables para almacenar el valor del número duplicado y la posición que se encuentra en dentro de la matriz:

dupNum int = -1 ; dupPos int = -1 ;

Inicializando estos a negativa, usted será capaz de decir si el proceso encuentra un valor duplicado en el arreglo o no.
2

Crear un bucle para recorrer el array. Agregue la siguiente estructura de esquema de bucle de su programa:

for (int i = 1 ; i < myNums.length , i + + ) { //procesar contenidos aquí }

Este bucle se repetirá una vez por todos los elementos de la matriz numérica . Dentro del bucle , se puede aplicar el procedimiento de verificación , la comparación de cada elemento de los artículos anteriores de la estructura. Almacenar el valor numérico actual en una variable local dentro de su bucle : . Int currNum = myNums [ i];

Este valor representa el número entero en la posición actual cada vez que el bucle se repite
3

Crear un segundo bucle dentro de la primera. Agregue el siguiente esquema de bucle después de guardar el valor actual de su variable :

for (int j = 0 , j < i , j + + ) { //comprobar valores previos }

Dentro de este bucle , se puede comparar el valor actual de los que aparecen en las posiciones anteriores de la serie . De esta manera se puede saber si el valor actual es un duplicado .
4

Compara el número actual a los valores anteriores. Dentro de su segundo bucle for, agregue la siguiente instrucción condicional:

if ( currNum == myNums [ j ] ) {//el valor es un duplicado }

Si la prueba devuelve un valor verdadero , que significa que el elemento de la matriz actual es igual a uno anterior , con su posición indicada por el segundo contador de bucle . Dentro de la condicional if, instruir al programa lo que debe hacer cuando encuentra un duplicado :

dupNum = currNum ; dupPos = i; break;

El código establece los valores del número duplicado y su posición , por lo que será accesible cuando termine el bucle. No existe un punto más para continuar con el ciclo en esta etapa, por lo que la sentencia break detiene en la iteración más.
5

Salir de la primera vuelta . La sentencia break sólo rompe su código fuera del circuito más cercano. Esto significa que el bucle exterior continuará incluso cuando se ha encontrado el valor duplicado . Tras el paréntesis de cierre para el bucle interior, agregue la siguiente instrucción condicional:

if ( dupNum > = 0 ) break;

Si el duplicado no se ha encontrado, el bucle externo se sigue ejecutando . Usted puede agregar la siguiente declaración después de su prueba de bucle externo se cierra :

System.out.println ( "Número duplicado :" + dupNum + " , la posición : " + dupPos ) ;
< p> Si el código no se ha localizado un duplicado, ambas variables se seguirá almacenando los valores de uno negativo.

Programación Java
Cómo desarrollar Tetris Juegos en Java
Cómo combinar clases en Java
Servlet vs Struts
Cómo escribir juegos en Java
Cómo vincular a la interfaz GUI en Java con un Código
Cómo detectar un KeyPress en Java
Cómo cambiar el interlineado en NetBeans
Java JButton y Funciones
Conocimientos Informáticos © http://www.ordenador.online