Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Chompy129 en 21 de Diciembre 2016, 15:22

Título: Java Generar números aleatorios enteros nextInt Clase Random Ejercicio CU00672B
Publicado por: Chompy129 en 21 de Diciembre 2016, 15:22
Generar números aleatorios en Java. Clase Random y método nextInt. Ejercicio ejemplo resuelto. (CU00672B)

Aquí les dejo el ejercicio:

código Java
Código: [Seleccionar]
import java.util.Scanner;
import java.util.Random;
/**
 * Testea el funcionamiento de Adivinar
 *
 * @author Chompy129
 * @version 1.0
 */
public class Adivinar{
    public static void main(String [] args){
        Random aleatorio= new Random();
        int numeroMaquina= aleatorio.nextInt(100);
        Scanner entradaS= new Scanner(System.in);
        int numeroUsuario= 0;
        int intentos= 0;
       
        System.out.println("Inicia el juego. Tienes 10 intentos.");
        System.out.print("Elige un número: ");
        while(numeroUsuario != numeroMaquina && intentos < 10){
            numeroUsuario= Integer.parseInt(entradaS.nextLine());           
            intentos++;

            if(intentos == 10){
System.out.println("Ha superado el número de intentos.");
}   
            else if(numeroUsuario == numeroMaquina){
                System.out.println("¡Has acertado!");
            }
            else if(numeroUsuario > numeroMaquina){
                System.out.print("El número es muy alto. Intente con uno mas bajo: ");
            }
            else if(numeroUsuario < numeroMaquina){
                System.out.print("El número es muy bajo. Intente con uno mas alto: ");
            }           
        }
System.out.println("Gracias por jugar");
    }
}


Link de la clase: https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=638:generar-numeros-aleatorios-en-java-clase-random-y-metodo-nextint-ejercicio-ejemplo-resuelto-cu00672b&catid=68:curso-aprender-programacion-java-desde-cero&Itemid=188 (https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=638:generar-numeros-aleatorios-en-java-clase-random-y-metodo-nextint-ejercicio-ejemplo-resuelto-cu00672b&catid=68:curso-aprender-programacion-java-desde-cero&Itemid=188)

Título: Re:Java. Generar números aleatorios. Clase Random. Ejercicio CU00672B
Publicado por: Erik_Escriche en 22 de Diciembre 2016, 00:06
Lo veo todo bien. Podrías ahorrar un poco de código en la parte de los intentos si en el último else if (...) usas simplemente else:

Código: [Seleccionar]
import java.util.Scanner;
import java.util.Random;
/**
 * Testea el funcionamiento de Adivinar
 *
 * @author Chompy129
 * @version 1.0
 */
public class Adivinar{
    public static void main(String [] args){
        Random aleatorio= new Random();
        int numeroMaquina= aleatorio.nextInt(100);
        Scanner entradaS= new Scanner(System.in);
        int numeroUsuario= 0;
        int intentos= 0;
       
        System.out.println("Inicia el juego. Tienes 10 intentos.");
        System.out.print("Elige un número: ");
        while(numeroUsuario != numeroMaquina && intentos < 10){
            numeroUsuario= Integer.parseInt(entradaS.nextLine());           
            intentos++;

            if(intentos == 10){
System.out.println("Ha superado el número de intentos.");
}   
            else if(numeroUsuario == numeroMaquina){
                System.out.println("¡Has acertado!");
            }
            else if(numeroUsuario > numeroMaquina){
                System.out.print("El número es muy alto. Intente con uno mas bajo: ");
            }
            else {
                System.out.print("El número es muy bajo. Intente con uno mas alto: ");
            }           
        }
System.out.println("Gracias por jugar");
    }
}

¡Saludos!
Título: Re:Java. Generar números aleatorios. Clase Random. Ejercicio CU00672B
Publicado por: Chompy129 en 22 de Diciembre 2016, 04:28
Mas que todo, es para asegurarme que el código funcione como debería, pero si ahorraría un poco. :)

Gracias por revisar el ejercicio Erik. También te envió un saludo. :D
Título: Re:Java. Generar números aleatorios. Clase Random. Ejercicio CU00672B
Publicado por: ESOJ en 22 de Diciembre 2016, 05:00
Buenos días.
Otra forma de hacerlo podría ser:
Código: [Seleccionar]
import java.util.Scanner;
import java.util.Random;
public class Adivinar{
    public static void main(String [] args){
        Random aleatorio= new Random();
        int numeroMaquina= aleatorio.nextInt(100);
        Scanner entradaS= new Scanner(System.in);         

        System.out.println("Inicia el juego. Tienes 10 intentos.");
        System.out.print("Elige un número entre 0 y 100 : ");
        for(int i=0;i<10;i++){
            int numeroUsuario= Integer.parseInt(entradaS.nextLine());
            int k=numeroUsuario- numeroMaquina;
            switch (k){
                case 0  :System.out.println("¡Has acertado!");i=10;break;
                default :
                if(i==9){
                    System.out.println("Ha superado el número de intentos.\n El numero era el : "+numeroMaquina);
                    break;}
                else{
                    if(numeroUsuario > numeroMaquina){System.out.print("El número es muy alto.");}
                    else {System.out.print("El número es muy bajo.");}
                    System.out.print("Intentalo de nuevo : ");break;       
                }
            }                 
        }
        System.out.println("Gracias por jugar");
    }
}