Foros del Web » Programación para mayores de 30 ;) » C/C++ »

PROBLEMON con bucle infinito do/while

Estas en el tema de PROBLEMON con bucle infinito do/while en el foro de C/C++ en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 02/01/2013, 12:33
 
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
  #2 (permalink)  
Antiguo 02/01/2013, 14:20
 
Fecha de Ingreso: diciembre-2010
Ubicación: catamarca
Mensajes: 22
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: PROBLEMON con bucle infinito do/while

probaste hacer el switch fuera del do while?...vas a ver que si
  #3 (permalink)  
Antiguo 02/01/2013, 14:53
 
Fecha de Ingreso: diciembre-2011
Ubicación: CABA
Mensajes: 433
Antigüedad: 12 años, 10 meses
Puntos: 94
Respuesta: PROBLEMON con bucle infinito do/while

Deberias colocar el tema en la seccion de JAVA, esto es de C/C++

Saludos

Etiquetas: bucle, infinito, integer
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:50.