En este post de programación en Java te enseñaré a solicitar un número por teclado pero asegurándonos de que el número realmente es válido y que se encuentra dentro de un rango.
De este modo vamos a poder validar números, ya que si el usuario ingresa una cadena o un número inválido vamos a indicarlo, y no vamos a dejar de solicitar el número hasta que el mismo sea válido.
Lo mismo sucede para el otro caso: además de validar que el valor sea numérico, vamos a comprobar que se encuentre en un rango.
De este modo validaremos números en Java usando la clase Scanner
.
Explicación del algoritmo
El funcionamiento va a estar encerrado dentro de un método en donde habrá un ciclo while infinito. Dentro del ciclo vamos a solicitar el número, leer si es un entero y en caso de que esté en el rango vamos a devolverlo.
En caso contrario vamos a consumir lo que haya en el escáner invocando a next
, y el ciclo se repetirá hasta que el usuario ingrese un número válido.
Validar número en Java

La función de Java queda así:
Los parámetros que recibe son el mensaje que se muestra para solicitar el número así como el mínimo y máximo para el rango del número. Un ejemplo del modo de uso es el siguiente:
Nota: como puedes ver, el método crea un Scanner. En ocasiones cuando es llamado y hay otras instancias de Scanner en el programa, ocurren errores.
Si tienes problemas y vas a usar varios Scanner, te recomiendo utilizar una única estancia y compartirla en todo el programa.
Para terminar te dejo con más tutoriales para aprender Java.