Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Papazot3

Páginas: [1]
1
Hola, necesito ayuda, estoy haciendo una pila en java (la tengo lista), el problema que tengo es que en el la clase menu debo ingresar solo datos enteros, tengo una clase leer para eso pero tampoco me funciona.

la clase leer
Código: [Seleccionar]
import java.io.*;
public class Leer {

public static String dato(){
String sdato="";
try{
BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
sdato=bf.readLine();
}
catch(IOException e){
System.err.println("Error:" + e.getMessage());
}
return sdato;
}
public static short datoShort(){
try{
return Short.parseShort(dato());

}
catch(NumberFormatException e){
return Short.MIN_VALUE;
}
}
public static int datoInt(){
try{
return Integer.parseInt(dato());
}
catch(NumberFormatException e){
return Integer.MIN_VALUE;
}
}


}

la clase del menu
Código: [Seleccionar]
public class Lista_Pila {

public static void main(String[] args) {
Lista lista=new Lista();
int op=0, opcLCP=0,dat,aux,maxelementospila;
maxelementospila=0;
do{
System.out.println("Ingrese cantidad máximas de elemnto para la Pila(mayor a 0)");
maxelementospila =Leer.datoInt();
}while(maxelementospila==0);

do{
Limpiar.cls();
System.out.println("Menu de la Pila" + "\n");
System.out.println("1) Ingresar Datos");
System.out.println("2) Mostrar Datos");
System.out.println("3) Elimina Dato");
System.out.println("4) Sumar Datos");
System.out.println("5) Ordenar Datos");
System.out.println("6) Buscar Datos");
System.out.println("7) Salir \n");
System.out.println("Ingrese su opcion: ");
op=Leer.datoInt();

MenuPila(op, lista, maxelementospila);

}while (op != 7);
}
public static void MenuPila(int op, Lista lista, int maxele){

int dat, aux;
switch (op)
{
case 1:
Limpiar.cls();
if (lista.largo()<maxele){
System.out.println("Ingrese Dato: ");
dat=Leer.datoInt();
lista.agregarAlInicio(dat);
System.out.println("Presione Enter para Continuar");
aux=Leer.datoInt();
}
else{
Limpiar.cls();
System.out.println("Maximo Alcanzado Para la Pila ["+maxele+"]");
System.out.println("Presione Enter para Continuar");
aux=Leer.datoInt();
}
break;

case 2:
Limpiar.cls();
System.out.println("El contenido de la Pila es:");
lista.mostrar();
System.out.println("Presione Enter para Continuar");
aux=Leer.datoInt();
break;

case 3:
Limpiar.cls();
lista.ultimoNodo();
System.out.println("Se elimino el ultimo Dato de la Pila");
System.out.println("Presione Enter para Continuar");
aux=Leer.datoInt();
break;

case 4:
Limpiar.cls();
System.out.println("La suma de total de la pila es:");
System.out.println(lista.sumarNodo());
System.out.println("Presione Enter para Continuar");
aux=Leer.datoInt();
break;


case 5:
Limpiar.cls();
System.out.println("Datos Ordenados:");
lista.ordenarNodo(lista.largo());
System.out.println("Presione Enter para Continuar");
aux=Leer.datoInt();
break;


case 6:
Limpiar.cls();
System.out.println("Ingrese el dato a Buscar:");
dat=Leer.datoInt();
lista.encontrar(dat);
System.out.println("Presione Enter para Continuar");
aux=Leer.datoInt();
break;



}
}



}

pero todavia se puede ingresar otro tipo de dato, nose donde estoy cometiendo el error si alguien me puede ayudar

saludos :P

Páginas: [1]

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".