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

Hola buenas,

Vereis tengo un gran problema haciendo un bucle de do/while:


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

	}

}


Quiero que cuando inserte por consola cualquier cosa menos un integer el programa me de el error (SOLAMENTE UNA VEZ) y que vuelva a pedirme un integer, no que entre en un bucle infinito...

Llevo 3 días así y ya no puedo más :( ¿cómo tendría que modificarlo?

Muchísimas gracias de antemano!!

Lay