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

[Sugerencia] Sugerencia de codigo

HIce mi reto asi, lo intente con un for pero queda mejor organizado con while

import javax.swing.*;
import java.util.Random;
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
int numeroALeatorio = new Random().nextInt(100);
int numeroUsuario = 0;
int contador = 0;
System.out.println(numeroALeatorio);

while(contador < 5){
    Scanner teclado = new Scanner(System.in);
    System.out.println("Digite un numero: ");
    numeroUsuario = teclado.nextInt();
    if (numeroUsuario == numeroALeatorio) {
        System.out.println("Adivinaste el numero");
        break;
    } else if (numeroUsuario < numeroALeatorio) {
        System.out.println("el numero es mayor");
    }
    else{
        System.out.println("EL numero es menor");
    }
    contador++;
    if (contador == 5) {
        System.out.println("Lo siento, superaste el número máximo de intentos. El número era: " + numeroALeatorio);
    }
}
}

}

1 respuesta

Hola Carlos, espero que estés bien

¡Qué bueno que estás trabajando en el desafío del juego de adivinanzas! Tu código se ve muy bien y parece que está cumpliendo con los requisitos del ejercicio. Usar un while para controlar los intentos es una elección válida y, como mencionaste, puede hacer que el código sea más organizado en algunos casos.

Una pequeña sugerencia que podría mejorar tu código es mover la creación del objeto Scanner fuera del bucle while. Actualmente, estás creando un nuevo objeto Scanner en cada iteración del bucle, lo cual no es necesario y puede consumir más recursos de los necesarios. Puedes inicializarlo una vez antes del bucle y reutilizarlo en cada iteración. Aquí tienes un ejemplo de cómo podrías hacerlo:

import javax.swing.*;
import java.util.Random;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        int numeroALeatorio = new Random().nextInt(100);
        int numeroUsuario = 0;
        int contador = 0;
        System.out.println(numeroALeatorio);

        Scanner teclado = new Scanner(System.in);

        while(contador < 5) {
            System.out.println("Digite un numero: ");
            numeroUsuario = teclado.nextInt();
            if (numeroUsuario == numeroALeatorio) {
                System.out.println("Adivinaste el numero");
                break;
            } else if (numeroUsuario < numeroALeatorio) {
                System.out.println("El numero es mayor");
            } else {
                System.out.println("El numero es menor");
            }
            contador++;
            if (contador == 5) {
                System.out.println("Lo siento, superaste el número máximo de intentos. El número era: " + numeroALeatorio);
            }
        }
    }
}

Espero que esta sugerencia te sea útil. ¡Sigue adelante con tus estudios de Java!

Espero haber ayudado y buenos estudios!