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 te mostraré cómo crear un servidor HTTP (servidor web) en Android…
En este post te voy a enseñar a designar una carpeta para imprimir todos los…
En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…
Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…
Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…
Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…
Esta web usa cookies.