Programming

T02-007- 04- R5 Estructuras Repetitivas - Reto

Enunciado

Adivina el número

Realiza un programa en el que el ordenador tiene programado un número fijo, que debería elegirse aleatoriamente entre 1 y 100, pero que nosotros pondremos de manera fija, dandole un valor fijo a la variable correspondiente en el programa, para que JuezLTI funcione correctamente. Le pondremos el valor 39

El usuario tiene que adivinarlo con el número de oportunidades que se fije (se pedirá por teclado).

Cuando el usuario introduzca un número, el programa indicará si el número introducido es el correcto y si no lo es, señalará si es mayor o menor que el número que tiene que adivinar.

El intento terminará tanto si acierta el número, como si alcanza el máximo de oportunidades sin acertarlo, indicándolo por pantalla en cada caso. En ese momento se volverá a solicitar el número de intentos y, si es distinto de 0, se permitirá volver a jugar, finalizando el programa si el número de intentos se establece a 0.

En el siguiente enlace tienes información sobre cómo generar números aleatorios en Java (usa la clase Random), por si quieres implementarlo en tu programa, aunque la versión que subas debe ser sin número aleatorio para que JuezLTI funcione correctamente.

 

Solución


											
package adivinaelnumero; import java.util.Scanner; public class AdivinaElNumero { public static void main(String[] args) { int numAzar; int intentos; int numUser; boolean ganador = false; Scanner sc = new Scanner(System.in); // Random aleatorio = new Random(); // numAzar = aleatorio.nextInt(100)+1; numAzar = 39; System.out.println("Introduzca el numero de intentos: "); intentos = sc.nextInt(); while (intentos > 0) { do { System.out.println("Introduce un numero: "); numUser = sc.nextInt(); if (numUser == numAzar) { System.out.println("GANASTE"); ganador = true; } else { if (numUser < numAzar) { System.out.println("MENOR"); intentos--; } else { System.out.println("MAYOR"); intentos--; } } } while (intentos != 0 && ganador == false); if (intentos == 0) { System.out.println("PERDISTE"); } ganador = false; System.out.println("Introduzca el numero de intentos: "); intentos = sc.nextInt(); } } }

Input

3 29 39 4 40 90 55 39 5 5 95 10 90 60 0
3 89 39 4 40 90 55 39 5 5 95 10 90 60 0

Output

Introduzca el numero de intentos: Introduce un numero: MENOR Introduce un numero: GANASTE Introduzca el numero de intentos: Introduce un numero: MAYOR Introduce un numero: MAYOR Introduce un numero: MAYOR Introduce un numero: GANASTE Introduzca el numero de intentos: Introduce un numero: MENOR Introduce un numero: MAYOR Introduce un numero: MENOR Introduce un numero: MAYOR Introduce un numero: MAYOR PERDISTE Introduzca el numero de intentos:
Introduzca el numero de intentos: Introduce un numero: MAYOR Introduce un numero: GANASTE Introduzca el numero de intentos: Introduce un numero: MAYOR Introduce un numero: MAYOR Introduce un numero: MAYOR Introduce un numero: GANASTE Introduzca el numero de intentos: Introduce un numero: MENOR Introduce un numero: MAYOR Introduce un numero: MENOR Introduce un numero: MAYOR Introduce un numero: MAYOR PERDISTE Introduzca el numero de intentos: