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

Este fue mi ejercicio, ¿Alguna recomendación? Saludos

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

//TIP To Run code, press or
// click the icon in the gutter.
public class Main {
public static void main(String[] args) {
int intentos = 0;
int nrandom= new Random().nextInt(100);
Scanner input = new Scanner(System.in);

    while (intentos < 5) {
        System.out.print("Adivina el número: ");
        int numero = input.nextInt();

        if (numero < 0 || numero > 100) {
            System.out.println("Por favor, introduce un número entre 0 y 100.");
            intentos--; // No contar este intento como válido
        }

        if (numero < nrandom) {
            System.out.println("El número que ingresaste es menor que el número secreto");
        } else if (numero > nrandom) {
            System.out.println("El número que ingresaste es mayor que el número secreto");
        } else {
            System.out.println("¡Acertaste! El número secreto es: " + nrandom);
            break;
        }
        intentos++;

    }
    System.out.println("Lo siento, el número secreto era: "+ nrandom);
    input.close();
    }
}
1 respuesta

Hola Sol,

¡Gracias por compartir tu ejercicio! Me parece que has hecho un buen trabajo creando un juego de adivinanza de números. Aquí te dejo algunas recomendaciones para mejorar tu código:

  1. Límites del número aleatorio: Actualmente, el número aleatorio puede ser entre 0 y 99, ya que nextInt(100) genera números de 0 a 99. Si deseas incluir el 100, podrías cambiarlo a nextInt(101).

  2. Intentos inválidos: En el caso de que el usuario ingrese un número fuera del rango (0-100), estás decrementando intentos para no contar ese intento. Sin embargo, después incrementas intentos al final del ciclo, lo que efectivamente sigue contando el intento. Podrías mover el incremento de intentos dentro de un else para que solo se incremente cuando el intento sea válido.

    if (numero < 0 || numero > 100) {
        System.out.println("Por favor, introduce un número entre 0 y 100.");
        // intentos--; // No es necesario este decremento
    } else {
        intentos++;
    }
    
  3. Mensajes al usuario: Podrías considerar añadir un mensaje al final del juego solo si el usuario no adivinó el número, para que no se muestre el mensaje de "Lo siento, el número secreto era..." si el usuario ya ha adivinado correctamente.

    if (intentos == 5) {
        System.out.println("Lo siento, el número secreto era: " + nrandom);
    }
    
  4. Mejorar la experiencia del usuario: Podrías añadir un mensaje de bienvenida o instrucciones al inicio del juego para que el usuario sepa cuántos intentos tiene.

Espero que estas sugerencias te sean útiles. ¡Sigue así con tu aprendizaje de Java!

Espero haber ayudado y buenos estudios!

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