Ayuda con array java

Iniciado por LoboEnmascarado, 1 Diciembre 2016, 01:38 AM

0 Miembros y 1 Visitante están viendo este tema.

LoboEnmascarado

Buenas tardes a todos, es mi primer post y quería solicitar con urgencia una pequeña mano para este problema.

Con base a los arrays tenemos que registrar datos: Número de persona, nombre, edad, pero no pueden repetirse los números de las personas, tengo hecho tal proceso de pedir y registrar, lo que necesito es saber como evitar que se repitan a la hora de ingresar el número.

Aquí les dejo una parte de mi código.

Citarstatic void registro()
      {
         if (ap<4)
         {
         ap++;
         numeros[ap]=Integer.parseInt(JOptionPane.showInputDialog("Número de persona "+ap));   
         nombre[ap]=JOptionPane.showInputDialog("Nombre de persona "+ap);
         edad[ap]=Integer.parseInt(JOptionPane.showInputDialog("Edad de la persona "+ap));
         }
         else
      {
         JOptionPane.showMessageDialog(null,"Registro lleno, regresar al menú");
      }

He intentado de diversas formas que he encontrado o deducido, ya sea con ciclos for o do while pero siempre al poner el primer número me lo marca existente pero prosigue a pedir los demás datos.

Gracias de antemano.

0xFer

#1
Muestra el código que tienes para hacer las comparaciones, por ejemplo;

Código (java) [Seleccionar]

boolean num_repetido;

do{
     num_repetido = false;
    numero_temp = Integer.parseInt(JOptionPane.showInputDialog("Número de persona "+ap));
   
    for(int i = 0; i < ap;i++)
        if( numero_temp == numeros[i] ){
            num_repetido = true;
            break;
        }    

    if(!num_repetido)
        numeros[ap] = numero_temp;

}while( num_repetido );

ap++;



Saludos  ;D
Código (java) [Seleccionar]
int getRandomNumber(){
    return 4; //chosen by fair dice roll
              //guaranteed to be random
}