Foros del Web » Programación para mayores de 30 ;) » Java »

Problema al imprimir solo los numeros primos de un arreglo

Estas en el tema de Problema al imprimir solo los numeros primos de un arreglo en el foro de Java en Foros del Web. Hola, bueno soy nuevo por aqui y hace una semana me mandaron hacer un programa que solicite ingresar "n" enteros en un arreglo y que ...
  #1 (permalink)  
Antiguo 22/05/2013, 10:31
 
Fecha de Ingreso: mayo-2013
Mensajes: 1
Antigüedad: 11 años, 6 meses
Puntos: 0
Pregunta Problema al imprimir solo los numeros primos de un arreglo

Hola, bueno soy nuevo por aqui y hace una semana me mandaron hacer un programa que solicite ingresar "n" enteros en un arreglo y que imprima solo los nros. primos que se encuentren ahi. hice este codigo lo he revisado, permite ingresar con normalidad los numeros y los almacena pero al ejecutar el segundo metodo(hallarPrimos) se queda en running.... y no da el resultado requerido(no muestra el mensaje). NEED HELP!.:

Código Java:
Ver original
  1. package hallarprimos;
  2.  
  3. import javax.swing.JOptionPane;
  4.  
  5. public class HallarPrimos {
  6.  
  7.     int max = 5;
  8.     int numeros[] = new int[max];
  9.     int cont;
  10.  
  11.     public void leerNumeros() {
  12.         for (cont = 0; cont < max; cont++) {
  13.             numeros[cont] = Integer.parseInt(JOptionPane.showInputDialog("Ingrese " + cont + "º número"));
  14.         }
  15.     }
  16.  
  17.     public void identificarPrimo() {
  18.         int multiplos = 0;
  19.         int primos = 0;
  20.         boolean esprimo = false;
  21.  
  22.         for (cont = 0; cont < max;) {
  23.  
  24.             for (int i = numeros[cont]; i >= 0; i--) {
  25.                 while (i % i == 0) {
  26.                     multiplos++;
  27.                 }
  28.             }
  29.             if (multiplos == 2) {
  30.                 primos++;
  31.                 esprimo = true;
  32.             }
  33.             cont++;
  34.         }
  35.         if (esprimo == true) {
  36.             JOptionPane.showMessageDialog(null, "Hay " + primos + " números primos");
  37.         } else {
  38.             JOptionPane.showMessageDialog(null, "No hay números primos");
  39.         }
  40.     }
  41.  
  42.     public static void main(String[] args) {
  43.         HallarPrimos n = new HallarPrimos();
  44.         n.leerNumeros();
  45.         n.identificarPrimo();
  46.        
  47.     }
  48. }

Última edición por crack0_06; 22/05/2013 a las 10:58
  #2 (permalink)  
Antiguo 22/05/2013, 12:14
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años, 6 meses
Puntos: 306
Respuesta: Problema al imprimir solo los numeros primos de un arreglo

Porque aquí tenemos lo que se llama bucle infinito

Cita:
while (i % i == 0) {
multiplos++;
}
Un número entre sí mismo siempre da de resto 0.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.

Etiquetas: arreglo, arreglos, joptionpane, primos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:12.