Adivinar número en Java - Programación de juego
En este post te mostraré el código de Java para el ejercicio de adivinar el número, mismo que si vemos de algún modo es un juego.
El programa consiste en que la computadora piensa un número y el usuario trata de adivinarlo. En caso de que el usuario no acierte, la computadora le da una pista indicando si el número es mayor o menor.
Los requisitos son:
Veamos cómo hacer esto de manera simple y elegante en Java.
Recuerda que en posts anteriores ya te mostré cómo obtener un número mágico o mejor dicho un número aleatorio con Java usando ThreadLocalRandom
.
Vayamos al código. Primero generamos el número aleatorio (en este caso está entre 1 y 99) y luego creamos un Scanner que nos permitirá leer datos por teclado o mejor dicho leer la entrada estándar.
// Generar número aleatorio entre 1 y 100
int numeroMagico = ThreadLocalRandom.current().nextInt(1, 100);
// Crear Scanner para leer del teclado
Scanner sc = new Scanner(System.in);
Después de eso vamos a hacer un ciclo do while que se va a ejecutar mientras el usuario no acierte el número. Además, dentro del ciclo vamos a darle pistas al usuario para indicarle si el número aleatorio es menor o mayor:
// Solicitar un número al usuario
int numeroUsuario;
do {
System.out.println("Intenta adivinar el número que he pensado. Ingresa tu propuesta: ");
numeroUsuario = sc.nextInt();
if (numeroMagico > numeroUsuario) {
System.out.println("El número que he pensado es mayor que el introducido");
} else if (numeroMagico < numeroUsuario) {
System.out.println("El número que he pensado es menor que el introducido");
}
} while (numeroMagico != numeroUsuario);
Finalmente cuando el ciclo se rompa (y esto será cuando el usuario haya adivinado el número en este programa de Java) se mostrará un mensaje de felicitación:
// Si termina el ciclo while es porque los números son iguales. Felicitamos al usuario
System.out.println("Has acertado, el número que pensé fue: " + numeroMagico);
El código completo queda como se ve a continuación:
import java.util.Scanner;
import java.util.concurrent.ThreadLocalRandom;
public class Main {
/*
* Visita mi blog para más ejercicios de Java:
* https://parzibyte.me/blog
* */
public static void main(String[] args) {
// Generar número aleatorio entre 1 y 100
int numeroMagico = ThreadLocalRandom.current().nextInt(1, 100);
// Crear Scanner para leer del teclado
Scanner sc = new Scanner(System.in);
// Solicitar un número al usuario
int numeroUsuario;
do {
System.out.println("Intenta adivinar el número que he pensado. Ingresa tu propuesta: ");
numeroUsuario = sc.nextInt();
if (numeroMagico > numeroUsuario) {
System.out.println("El número que he pensado es mayor que el introducido");
} else if (numeroMagico < numeroUsuario) {
System.out.println("El número que he pensado es menor que el introducido");
}
} while (numeroMagico != numeroUsuario);
// Si termina el ciclo while es porque los números son iguales. Felicitamos al usuario
System.out.println("Has acertado, el número que pensé fue: " + numeroMagico);
}
}
Ya has visto la ejecución del programa en el encabezado de este apartado.
Para terminar te dejo con más tutoriales de Java en mi blog.
El día de hoy vamos a ver cómo restablecer la impresora térmica GOOJPRT PT-210 a…
Hoy voy a enseñarte cómo imprimir en una impresora térmica conectada por USB a una…
En este post voy a enseñarte a programar un servidor web en Android asegurándonos de…
En este post te quiero compartir un código de C++ para listar y cancelar trabajos…
Gracias a WebAssembly podemos ejecutar código de otros lenguajes de programación desde el navegador web…
Revisando y buscando maneras de imprimir un PDF desde la línea de comandos me encontré…
Esta web usa cookies.