Hola buenas,
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