Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/01/2013, 12:33
Layrella
 
Fecha de Ingreso: enero-2013
Mensajes: 3
Antigüedad: 11 años, 10 meses
Puntos: 0
Exclamación PROBLEMON con bucle infinito do/while

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