Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Juego adivinacion

import java.util.Random;
import java.util.Scanner;
//¡Ahora te toca a ti!
//
//Practica los conceptos que se enseñaron durante esta clase con el siguiente desafío:
//
//Crea un programa que simule un juego de adivinanzas. El programa debe generar un número aleatorio entre 0 y 100, y
// pedir al usuario que intente adivinar ese número en un máximo de 5 intentos. En cada intento, el programa debe informar
// si el número ingresado por el usuario es mayor o menor que el número generado.
//
//Consejos:
//
//Para generar un número aleatorio en Java: new Random().nextInt(100);
//
//Utiliza el Scanner para obtener los datos del usuario.
//
//Utiliza una variable para contar los intentos.
//
//Utiliza un bucle para controlar los intentos.
//
//Utiliza la instrucción ‘break;’ para salir del bucle.
//
//¡Buena suerte!

public class Adivinacion {
    public static void main(String[] args) {
        int numeroAleatorio= new Random().nextInt(100);
        Scanner teclado= new Scanner(System.in);
        System.out.println("jugaremos adivinar el numero aleatorio:");
        System.out.println("empecemos!");
    int contador=0;
    while(contador<5){
        System.out.println("Dime un numero");
        int numeroElegido=teclado.nextInt();
        if(numeroElegido==numeroAleatorio){
            System.out.println("Acertaste!!");
            break;
        }
        else{

            if(numeroElegido<numeroAleatorio){

                System.out.println("erraste!");
                System.out.println("el numero es menor al numero magico");
                contador++;

            }
           else {
                System.out.println("erraste!");
                System.out.println(("el numero es mayor al numero magico"));
                contador++;
            }
        }
    }
    if(contador==5){
        System.out.println("Terminaste los 5 intentos!");
    }
    }
}

O podria haber resumido y usar else if sin necesidad de usar otros if y else dentro del else.

1 respuesta

¡Hola, Alexander!

Tu código para el juego de adivinanzas está muy bien estructurado y cumple con los requisitos del desafío. Sin embargo, como mencionaste, puedes simplificar un poco la lógica usando else if para evitar anidar if y else dentro de otro else. Aquí tienes cómo podrías hacerlo:

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

public class Adivinacion {
    public static void main(String[] args) {
        int numeroAleatorio = new Random().nextInt(100);
        Scanner teclado = new Scanner(System.in);
        System.out.println("Jugaremos a adivinar el número aleatorio:");
        System.out.println("¡Empecemos!");
        int contador = 0;

        while (contador < 5) {
            System.out.println("Dime un número");
            int numeroElegido = teclado.nextInt();

            if (numeroElegido == numeroAleatorio) {
                System.out.println("¡Acertaste!");
                break;
            } else if (numeroElegido < numeroAleatorio) {
                System.out.println("Erraste!");
                System.out.println("El número es mayor al número mágico");
            } else {
                System.out.println("Erraste!");
                System.out.println("El número es menor al número mágico");
            }
            contador++;
        }

        if (contador == 5) {
            System.out.println("¡Terminaste los 5 intentos!");
        }
    }
}

Con esta modificación, el código es un poco más limpio y fácil de seguir. La lógica sigue siendo la misma, pero ahora utilizamos else if para manejar las condiciones de comparación del número elegido con el número aleatorio.

Espero que esta simplificación te sea útil. Sigue así y no dudes en volver al foro si tienes alguna pregunta o dificultad.

¡Gracias nuevamente!

Saludos,

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!