Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
3
respuestas

[Sugerencia] Solucion diferente, sin utilizar la instrucción break

Buenas les comparto mi solución al ejercicio, cualquier aporte o critica constructiva bienvenida sea, desde ya muchas gracias!


import java.util.Random;
import java.util.Scanner;

public class Adivinanzas {
    public static void main(String[] args) {

        int numeroAleatorio = new Random().nextInt(100);
        int numeroIngresado = 0;
        int intentosMaximos = 5;
        int intentos = 0;
        Scanner teclado = new Scanner(System.in);

        System.out.println("### Juego de adivinanza ###");
        System.out.println("Tienes " + intentosMaximos + " intentos para adivinar el numero secreto entre 0 y 100" );

        while (numeroIngresado != numeroAleatorio && intentos < intentosMaximos){
            System.out.println("Ingrese un número");
            numeroIngresado = teclado.nextInt();
            intentos++;

            if (numeroIngresado > numeroAleatorio) {
                System.out.println("Su número ingresado es mayor al número secreto");
            } else if (numeroIngresado == numeroAleatorio) {
                System.out.println("Felicitaciones ha adivinado!!! el número secreto es " + numeroAleatorio);
            } else {
                System.out.println("Su número ingresado es menor al número secreto");
            }

            if (intentos == 5 && numeroIngresado != numeroAleatorio) {
                System.out.println("Ha alcanzado su máximo de intentos posibles, y no logró adivinar. El número secreto era: " + numeroAleatorio);
            }
        }
    }
}
3 respuestas

Hola Tocayo !

Algunas observaciones que espero te ayuden.

-La clase random devuelve un numero entre 0 ( Incluye ) y el numero dado que en este caso es 100(excluye). Por lo que estarias jugando a un juego de adivinar numeros entre 0-99 , si quieres que sea 1 a 100 deberías sumarle 1 -Te recomiendo cerrar el Scanner para liberar recursos. En este caso seria teclado.close(); esto iria casi al final.

Si aporte en algo dale a solucionado. Que tengas un buen dia.

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

Hola @Eduardo me queda una duda si la instrucción es de 0 a 100; si le agregamos 1 ya no existiria el 0 como solución posible entonces seria mejor definirlo como int aleatorio = new Random().nextInt(0,100);, asegurando que tome como origen = y termine en 100, espero esto tambien les sea de ayuda , mucho éxito, y gracias por la nota de cerrar el teclado la pondré en practica.

Todas la razón Grabiel Otra forma es poner 101 y tendriamos de 0 a 100. Muchos caminos llegan a roma.