Vereis tengo un gran problema haciendo un bucle de do/while:
Cita:
Código:
package menu; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Scanner; public class LoteriaTest { public static void menu (){ System.out.println(" "); System.out.println("Menú Principal"); System.out.println("1.- "); System.out.println("2.- "); System.out.println("3.- "); System.out.println("4.- "); System.out.println("5.- Salir."); System.out.print("Elección: "); } /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { int respuesta=0; Scanner teclado=new Scanner(System.in); //PARA EL MENU USAR DO WHILE do{ menu(); try{ respuesta=teclado.nextInt(); }catch (Exception e){ System.out.println("Ha ocurrido un error. Por favor, introduzca un número válido."); System.err.println(e); } switch (respuesta){ case 1:numcomp(); break; case 2:jornada(); break; case 3: imprimir(); break; case 4: leer(); break; case 5: System.out.println("Saliendo del menú principal..."); break; default: System.out.println("No existe una opción "+respuesta+". Por favor, introduzca un número válido."); break; } }while(respuesta != 5); // TODO Auto-generated method stub } }
Se trata de un menú principal en el que te pide un integer para ejecutar diversas acciones construidas en otra clase, una vez que realiza una acción te vuelve a pedir un número hasta que pulses el 5 que ahí para.
El problema es que cuando en lugar de poner un número pongo una letra el try catch se ejecuta y me suelta el mensajito de error, pero se convierte en un bucle sin fin, es decir, suelta el mensaje de error, enseña el menú principal y otra vez suelta el mensaje de error y así, mensaje, menu, mensaje, menu, mensaje... (NO ME DEJA VOLVER A PONER UNA RESPUESTA).
Llevo 3 días así y ya no puedo más :( ¿cómo tendría que modificarlo?
Muchísimas gracias de antemano!!
Lay