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

Programa en pilas con numeros primos

Estas en el tema de Programa en pilas con numeros primos en el foro de Java en Foros del Web. Hola que tal, me registré en el foro para ver si me podían ayudar con mi código que me marca un error que no entiendo ...
  #1 (permalink)  
Antiguo 14/12/2012, 22:36
 
Fecha de Ingreso: diciembre-2012
Mensajes: 2
Antigüedad: 11 años, 4 meses
Puntos: 0
Pregunta Programa en pilas con numeros primos

Hola que tal, me registré en el foro para ver si me podían ayudar con mi código que me marca un error que no entiendo por qué. Verán mi programa se trata de que en una pila al insertar un número, ese número tiene que ser primo y si no, ese número no se agrega a la pila. Aquí está mi codigo:
Código:
import javax.swing.*;


 
public class pila2 {
    static Pila accion=new Pila();
    public static void main(String[] args) {
    	
    
		int opcion=0;
		while(true){
			opcion=Integer.parseInt(JOptionPane.showInputDialog(null,
			
			"Menú de la Pila \n"	+
			"\n" +
			"1. Introducir un número \n"  +
			"2. Eliminar de la pila \n"  +
			"3. Mostrar los números \n" +
		
			
			"5. Salir"  +
			"\n" +
			"\n" +
			"Ingresa la opción que quieras"
			));
			switch(opcion){
			case 1: accion.Insertar(); 
			break;
			case 2: accion.Sacar();
			break;
			case 3: accion.Mostrar();
		    break;
		    case 5: System.exit(0);
		    break;
			default: JOptionPane.showMessageDialog(null,"Por favor vuelva a introducir una opción válida");
			break;
			}
		}
    }
}
class Pila{
	int tamaño=5;
	int numero[]= new int[tamaño];
	int cima=-1;
	int tope=numero.length-1;
	public void Insertar(){
		
		
		if(cima==tope){
			JOptionPane.showMessageDialog(null,"No se realizo ninguna accion");
			JOptionPane.showMessageDialog(null,"La pila esta llena");
		}
		else {
			cima++;
		int p, contador=0;
			numero[cima]=JOptionPane.showInputDialog(null,"Teclea un número");
			
			JOptionPane.showMessageDialog( null,"Haz escrito\n"+numero[cima]);
			for(p=numero[cima]; p>0; p--){
				if(numero[cima]%p==0)
				contador++;
			}
			if(contador==2){
				JOptionPane.showMessageDialog(null,"El número es primo");
			}
			else {
				JOptionPane.showMessageDialog(null,"Introduce otro número");
			}
			}
		
			
		
	}
	public void Sacar(){
		if(cima==-1){
			JOptionPane.showMessageDialog(null,"No se realizo ninguna accion");
			JOptionPane.showMessageDialog(null,"La pila esta vacia");
		}
		else{
			JOptionPane.showMessageDialog(null,"Se saco el número ( "+numero[cima]+" )");
			cima--;
		}
	}
	public void Mostrar(){
		if(cima==-1){
			JOptionPane.showMessageDialog(null,"La pila esta vacia");
		}
		else{
			String mostrar="";
			int i=0;
			for(i=0;i<=cima;i++){
				mostrar=mostrar+"( "+numero[i]+" )\n";
			}
			JOptionPane.showMessageDialog(null,"Los números almacenados son:\n"+mostrar);
		}
	}

}
El error que marca es el siguiente:

Código:
C:\Users\Isaias\Documents\Programas JAVA\pila2.java:56: error: incompatible types
            numero[cima]=JOptionPane.showInputDialog(null,"Teclea un número");
                                                    ^
  required: int
  found:    String
1 error
No se si me puedan ayudar a encontrar mi error. Gracias por pasar por aquí
  #2 (permalink)  
Antiguo 14/12/2012, 22:45
 
Fecha de Ingreso: diciembre-2012
Mensajes: 2
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Programa en pilas con numeros primos

En netbeans asi me marca el mismo error:
Código:
Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - incompatible types
  required: int
  found:    java.lang.String
	at Pila.Insertar(pilaprimo.java:56)
	at pilaprimo.main(pilaprimo.java:27)
Java Result: 1

Etiquetas: numeros, pilas, primos, programa, string
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 17:51.