Autor Tema: CU00672B Generar números aleatorios en Java. Clase Random y método nextInt.  (Leído 2804 veces)

Lorenzo31

  • Avanzado
  • ****
  • APR2.COM
  • Mensajes: 381
    • Ver Perfil
Buenas tardes, aquí dejo la solución a mi ejercicio

Clase EntradaDatos

Código: [Seleccionar]
import java.util.InputMismatchException;
import java.util.Scanner;

public class EntradaDatos{
    private int numero;

    public EntradaDatos(){ /*vacio*/}

    public void recogerNumero(){

        do{ 
            try{   //recoge un Int entre 1 y 100 y  sino vuelve a pedir la entrada de dato
                System.out.println("Por favor introduce un numero entre 1 y 100 \n");
                Scanner escaner = new Scanner(System.in);
                numero = escaner.nextInt();
            }catch(InputMismatchException e){}
        } while( numero > 100 || numero < 1);
    }
   
    public int getNumero(){ return numero; }  //devuelve el int entre 1 y 100 introducido
}

Clase NumeroAleatorio

Código: [Seleccionar]
import java.util.Random;

public class NumeroAleatorio {
     private int numeroRandom;
     
    public NumeroAleatorio(){
        //declaramos y inicializamos aleatorio como Random
        Random aleatorio = new Random();
        // asigno a numeroRandom un aleatorio entre 0 y 99 y le añado 1 para que esté entre 1 y 100
        numeroRandom = aleatorio.nextInt(100) + 1;
    }
   
    public int getNumeroAleatorio(){ return numeroRandom; }
}

Clase AdivinaNumero (main)

Código: [Seleccionar]
public class AdivinaNumero{
   
    public static void main (String [] args){
        int aleatorio;
        //Creamos objeto adivinanza del tipo NumeroAleatorio que automaticamente genera un numero random
        NumeroAleatorio adivinanza = new NumeroAleatorio();
        aleatorio = adivinanza.getNumeroAleatorio();
       
        System.out.print("Se ha generado un número aleatorio entero entre 1 y 100, intente adivinarlo \n \n");
        // Pedimos introduzca un numero creado nuevo objeto EntradaDatos
        EntradaDatos entrada = new EntradaDatos();
       
        do{
         // usando el metodo recogerNumero para que introduzca numero el usuario
       
        entrada.recogerNumero();
       
        if (entrada.getNumero() > aleatorio) { System.out.println(" No has acertado: el número es menor ");}
          else if (entrada.getNumero() < aleatorio) { System.out.println(" No has acertado: el número es mayor ");} 
           
        } while (entrada.getNumero() != aleatorio);
       
        System.out.println(" Enhorabuena !! has acertado, el número era " + aleatorio );
    } // final main
}// final clase

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Hola Lorenzo, tu código está muy bien. Aunque las clases son sencillas, has hecho un buen diseño orientado a objetos, enhorabuena y a seguir

Salu2

Lorenzo31

  • Avanzado
  • ****
  • APR2.COM
  • Mensajes: 381
    • Ver Perfil
Muchas gracias Ogramar, y por los apoyos recibidos que hacen falta, el curso es duro. Pero tremendamente útil,

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".