Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/12/2012, 22:36
Isatol
 
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í