Hola! Soy un programador novato que se está iniciando, estoy escribiendo un programa para para calcular la tasa metabólica basal del usuario y pretendo crear una estructura de control de errores para evitar que el usuario introduzca datos indeseados y que no salga del bucle hasta que introduzca un valor correcto, y no se si lo estoy haciendo de la forma más eficiente. Voy a copiar el método que tengo creado para que el usuario introduzca el peso (por poner un ejemplo), y a comentar que aún no sé como hacer en el casó de que el usuario introduzca una variable alfanumérica, sé que podría convertir un String a un valor Int sí utilizo el método parseint de la clase integer, pero aún así, si el usuario introduce caracteres alfanuméricos me da error... bueno, yo lo he echo así, a ver que opináis.
/*Método para comprobar el peso*/
private static int compruebaPeso() {
boolean pesoCorrecto = false;
int introPeso;
int correctoPeso = 0;
do {
System.out.print("Introduce tu peso en kg: ");
introPeso=entradaTeclado.nextInt();
if (introPeso <= 40 || introPeso > 250 ){
System.out.println("¡Introduce un peso correcto!");
pesoCorrecto=false;
} else {
correctoPeso=introPeso;
pesoCorrecto = true;
}
} while (pesoCorrecto==false);
return correctoPeso;
}