Adivinar números con Java

23/Sep/2019 Java Deja un comentario
Programación en Java

Revisando el código publicado he caído en la cuenta de que había un código publicado del que no había escrito un artículo y este es sobre cómo adivinar números con Java.

La dinámica es muy sencilla y consiste en pedir al usuario un listado de números para guardarlos, en este caso vamos a guardar 10 números, aunque podríamos ajustarlo a los que quisiéramos y luego entraría en la dinámica de preguntar al usuario para poderlo adivinar. Así que pongámonos manos a la obra con el código para adivinar números con Java.

Lo primero será definir un array que será la estructura en la que almacenaremos los números. Para ello nos vamos a ayudar de un ArrayList.

ArrayList<Integer> misnumeros = new ArrayList<Integer>(10);

Lo siguiente será pedirle al usuario que introduzca los 10 números. Como es una cantidad fija vamos a utilizar un bucle for. La clase Scanner será la que nos sirva para acceder a la consola del usuario y pedirle los números.

Scanner reader = new Scanner(System.in);  

for (int x=0;x<10;x++) {
  System.out.println("Inserte un número");
  misnumeros.add(reader.nextInt());
}

Podemos comprobar que utilizamos el método .nextInt() para leer los números enteros por consola.

Una vez tenemos cargados los números podemos empezar con la lógica de adivinar números con Java. La idea es apoyarnos en un bucle while, el cual tendrá como condición de salida el número 0. Es decir, mientras el usuario no introduzca el 0 seguiremos preguntando por el número a adivinar.

int numeroBuscar = reader.nextInt();

while (numeroBuscar!=0) {
  ...
  numeroBuscar = reader.nextInt();
}

Para poder buscar el número en el array nos apoyamos en el método .contains(). Dicho método nos devuelve true en el caso que el valor pasado se encuentre dentro del Array.

Es importante ver que el método .contains() nos lo ofrece la clase ArrayList. Es por ello que hemos utilizado dicha clase para almacenar el array en vez de un sencillo array de datos.

De esta forma el código dentro del bucle nos quedaría de la siguiente forma:

int numeroBuscar = reader.nextInt();

while (numeroBuscar!=0) {
  if (misnumeros.contains(numeroBuscar)) {
    System.out.println("Contiene el número " + numeroBuscar);
  } else {
    System.out.println("No contiene el número " + numeroBuscar);
  }

  System.out.println("Busca un número, 0 para salir");
  numeroBuscar = reader.nextInt();
}

Una vez introducido el valor 0 se acabará nuestro juego de adivinar números con Java.

Vídeos sobre Java


¿Algo que nos quieras comentar?

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

*

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.