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

[Sugerencia] Juego de adivinación-primer programa java

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

public class main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int numeroAleatorio = new Random().nextInt(100);
int intentos = 5;
int usuario;
boolean ganador = false;
System.out.println(numeroAleatorio);
for (int i = 0; i < intentos; i++) {
System.out.println("Ingresa tú numero");
usuario = scanner.nextInt();
if (usuario == numeroAleatorio){
System.out.println("Felicitaciones adivinaste el número aleatorio");
ganador = true;
break;
}else{
if(usuario > numeroAleatorio){
System.out.println("Casi el número aleatorio es menor al que ingresaste");
System.out.println("Sigue intentando, te quedan " + ((intentos -1) - i) + (((intentos-i) > 1) ? " intentos" : " intento"));

            } else if (usuario < numeroAleatorio){
                System.out.println("Casi el número aleatorio es mayor al que ingresaste");
                System.out.println("Sigue intentando, te quedan " + (intentos -1 - i) + (((intentos-i) > 1) ? " intentos" : " intento"));
            }
        }

    }
    if (!ganador){
        System.out.println("Lo siento, no ganaste esta vez...sigue intentando");
    }

}

}

1 respuesta

¡Hola Kevin, espero que estés bien!

Sugerencia: compartir tu proyecto en el canal #comparta-tu-codigo en el servidor ONE en Discord ;)

¡Qué genial que estés trabajando en tu primer programa de Java! Tu código para el juego de adivinación se ve bastante bien y parece que ya estás muy cerca de tenerlo funcionando perfectamente. Aquí hay un par de sugerencias y observaciones que podrían ayudarte:

  1. Clase Principal: El nombre de la clase principal debe comenzar con una letra mayúscula por convención. En lugar de public class main, podrías usar public class Main.

  2. Mostrar el Número Aleatorio: Actualmente, estás imprimiendo el número aleatorio al inicio del programa con System.out.println(numeroAleatorio);. Esto hace que el juego sea muy fácil, ya que el usuario puede ver el número que necesita adivinar. Si quieres mantener el desafío, considera eliminar esa línea.

  3. Corrección de Pluralidad en Intentos: En las líneas donde muestras cuántos intentos quedan, la lógica para determinar "intentos" o "intento" parece estar un poco desajustada. Podrías simplificarlo con algo como:

    System.out.println("Sigue intentando, te quedan " + ((intentos - 1) - i) + " intento" + (((intentos - 1) - i) == 1 ? "" : "s"));
    
  4. Cerrar el Scanner: Es una buena práctica cerrar el Scanner al final del uso para liberar recursos. Puedes hacerlo añadiendo scanner.close(); al final de tu método main.

Aquí tienes cómo podría quedar tu código después de estos ajustes:

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

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int numeroAleatorio = new Random().nextInt(100);
        int intentos = 5;
        int usuario;
        boolean ganador = false;

        for (int i = 0; i < intentos; i++) {
            System.out.println("Ingresa tu número:");
            usuario = scanner.nextInt();
            if (usuario == numeroAleatorio) {
                System.out.println("¡Felicitaciones! Adivinaste el número aleatorio.");
                ganador = true;
                break;
            } else {
                if (usuario > numeroAleatorio) {
                    System.out.println("Casi, el número aleatorio es menor al que ingresaste.");
                } else {
                    System.out.println("Casi, el número aleatorio es mayor al que ingresaste.");
                }
                System.out.println("Sigue intentando, te quedan " + ((intentos - 1) - i) + " intento" + (((intentos - 1) - i) == 1 ? "" : "s"));
            }
        }
        if (!ganador) {
            System.out.println("Lo siento, no ganaste esta vez... sigue intentando.");
        }
        scanner.close();
    }
}

Espero que estas sugerencias te sean útiles. ¡Sigue así y disfruta del proceso de aprendizaje!

Espero ter ajudado y buenos estudios!