Artículos
Java

Leer números por teclado con Java

23/Oct/2016

¿Cómo leer números por teclado con Java?

Un ejemplo sencillo, pero muy útil y que todos deberíamos controlar, es el de leer números por teclado con Java. La idea en este caso es ver cómo podemos pedir al usuario números enteros e irlos leyendo por teclado. Esto lo repetiremos hasta que el usuario inserte el 0. A partir de este momento le mostraremos al usuario la suma de todos los números insertados.

Además, será crucial y necesario que implementemos un mecanismo de control en nuestro sistema. Este mecanismo de control tendrá la tarea de verificar que la información que el usuario inserta en los campos de entrada sea realmente un número entero. Esto es importante para prevenir errores o malfuncionamientos en el sistema debido a la inserción de datos no válidos, como, por ejemplo, una letra en lugar de un número. Esta es una tarea que no podemos pasar por alto para asegurar que nuestro sistema funcione correctamente y de manera eficiente.

Manejando la clase Scanner para leer números por teclado con Java.

Lo primero que tenemos que conocer es que la clase Scanner nos permite leer contenido insertado por consola de una forma sencilla. Lo que tenemos que hacer es crear un Scanner sobre el elemento de consola que es System.in.

Scanner reader = new Scanner(System.in);

A partir de ese momento, siempre que necesitemos que el usuario nos proporcione una entrada a través del teclado, en nuestro caso un número, estaremos obligados a invocar el método .nextInt(). Este método es una función integrada que se utiliza para escanear la siguiente entrada de token del usuario, y la convierte en un int antes de devolverla.

Aquí hay un ejemplo de cómo podríamos usar este método:

int numero = 0;
numero = reader.nextInt();

En este fragmento de código, inicializamos una variable de tipo int llamada numero y le asignamos el valor 0. Luego, solicitamos al usuario que ingrese un número a través del teclado. Esa entrada pasa al método .nextInt(), que luego la convierte en un entero. Finalmente, ese entero se almacena en nuestra variable numero.

Es importante destacar que con este método, la entrada del usuario se deposita directamente en una variable de tipo int. Esto significa que no necesitamos hacer ninguna conversión adicional, ya que .nextInt() se encargará de ese proceso por nosotros.

Bucle para leer números por teclado con Java.

Siguiendo con nuestro ejemplo para leer números por teclado con Java, si lo que queremos es capturar números hasta que se inserte el 0 podemos utilizar un bucle do-while.

List lista = new ArrayList();
Scanner reader = new Scanner(System.in);
int numero = 0;

System.out.println("Introduce números. El cero para salir");

do {
    numero = reader.nextInt();
    lista.add(numero);
} while (numero!=0);

Vemos que en cada iteración del bucle estamos insertando el número en una lista definida mediante un ArrayList. Un ArrayList es una clase de la API Collections de Java que se utiliza para almacenar elementos dinámicamente. Se puede cambiar el tamaño de un ArrayList en cualquier momento, y proporciona más funcionalidades que los arrays Java normales. Un ArrayList puede tener cualquier número de elementos y puede crecer en tiempo de ejecución. Además, un ArrayList puede almacenar elementos de cualquier tipo de datos, mientras que los arrays normales solo pueden almacenar elementos de un solo tipo de datos.

Controlar que lo que introduce el usuario sea realmente un número.

Es muy importante que cuando estemos codificando el ejemplo de leer números por teclado con Java tengamos cuidado, ya que el usuario podría insertar una letra. Es por ello que debemos capturar el contenido dentro de una estructura try-catch que controle la excepción InputMismatchException

List lista = new ArrayList();
Scanner reader = new Scanner(System.in);
int numero = 0;

System.out.println("Introduce números. El cero para salir");

do {
  try {
    numero = reader.nextInt();
    lista.add(numero);
  } catch (InputMismatchException ime){
    System.out.println("¡Cuidado! Solo puedes insertar números. ");
    reader.next();
  }
} while (numero!=0);

Si nos fijamos bien cuando controlamos la excepción, además de avisar al usuario, lo que hacemos es llamar al método .next() del Scanner esto es ya que el carácter introducido por teclado sigue sin ser leído y hay que descartarlo para que pueda ser insertado otro número.

Operar con los números insertados por teclado.

Lo último que haremos con nuestro ejemplo de leer números por teclado con Java es realizar una operación con ellos. Así que, ya solo nos quedará sumar los números que hemos insertado en la lista, bueno, en nuestro ArrayList.

int suma = 0;
for(int num:lista) {
  suma += num;
}

System.out.println("La suma de los números es " + suma);

Espero que os haya servido de utilidad este ejemplo para leer números por teclado con Java.

Código Fuente

Descárgate el código fuente de Leer números por teclado con Java
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star
Leer números por teclado con Java

Vídeos sobre Java

Disfruta también de nuestros artículos sobre Java en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Java

¿Te atreves a probar tus habilidades y conocimiento en Java con nuestro test?

Test Java
Suscribir
Notificar de
guest
17 Comentarios
Recientes
Anteriores Más votados
Opiniones integradas
Ver todos los comentarios