Foro de elhacker.net

Programación => Java => Mensaje iniciado por: LoboEnmascarado en 1 Diciembre 2016, 01:38 am



Título: Ayuda con array java
Publicado por: LoboEnmascarado en 1 Diciembre 2016, 01:38 am
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.

Citar
static 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.


Título: Re: Ayuda con array java
Publicado por: 0xFer en 1 Diciembre 2016, 05:45 am
Muestra el código que tienes para hacer las comparaciones, por ejemplo;

Código
  1. boolean num_repetido;
  2.  
  3. do{
  4.     num_repetido = false;
  5.     numero_temp = Integer.parseInt(JOptionPane.showInputDialog("Número de persona "+ap));
  6.  
  7.     for(int i = 0; i < ap;i++)
  8.         if( numero_temp == numeros[i] ){
  9.             num_repetido = true;
  10.             break;
  11.         }    
  12.  
  13.     if(!num_repetido)
  14.         numeros[ap] = numero_temp;
  15.  
  16. }while( num_repetido );
  17.  
  18. ap++;
  19.  
  20.  

Saludos  ;D