Leer números por teclado con Java

23/Oct/2016 Java , , , Deja un comentario

Un ejemplo sencillo, pero muy útil y que todos deberíamos de 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 deberemos de controlar que lo que el usuario realmente inserta es un número entero y no, por ejemplo, una letra.

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 el System.in.

  1. Scanner reader = new Scanner(System.in);

A partir de ese momento cada vez que queramos que el usuario nos de una entrada por teclado, en nuestro caso un número deberemos de llamar al método .nextInt()

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

Vemos que el contenido lo dejamos directamente sobre una variable de tipo int.

Si lo que queremos es capturar números hasta que se inserte el 0 podemos utilizar un bucle do-while.

  1. List<Integer> lista = new ArrayList<Integer>();
  2. Scanner reader = new Scanner(System.in);
  3. int numero = 0;
  4.  
  5. System.out.println("Introduce números. El cero para salir");
  6.  
  7. do {
  8. numero = reader.nextInt();
  9. lista.add(numero);
  10. } while (numero!=0);

Vemos que en cada iteración del bucle estamos insertando el número en una lista definida mediante un ArrayList.

Con este código hay que tener cuidado, ya que el usuario podría insertar una letra. Es por ello que debemos de capturar el contenido dentro de una estructura try-catch que controle la excepción InputMismatchException

  1. List<Integer> lista = new ArrayList<Integer>();
  2. Scanner reader = new Scanner(System.in);
  3. int numero = 0;
  4.  
  5. System.out.println("Introduce números. El cero para salir");
  6.  
  7. do {
  8. try {
  9. numero = reader.nextInt();
  10. lista.add(numero);
  11. } catch (InputMismatchException ime){
  12. System.out.println("¡Cuidado! Solo puedes insertar números. ");
  13. reader.next();
  14. }
  15. } 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.

Ya solo nos quedará sumar los números que hemos insertado en la lista.

  1. int suma = 0;
  2. for(int num:lista) {
  3. suma += num;
  4. }
  5.  
  6. 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.

Vídeos sobre Java


Difunde el Conocimiento

Si te ha gustado el artículo o te ha sido de utilidad, no dejes de compartirlo con tus amigos en las redes sociales... Te estaremos muy agradecidos. :-D

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

*