Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Lorenzo31 en 30 de Marzo 2015, 19:08

Título: CU00672B Generar números aleatorios en Java. Clase Random y método nextInt.
Publicado por: Lorenzo31 en 30 de Marzo 2015, 19:08
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
Título: Re:CU00672B Generar números aleatorios en Java. Clase Random y método nextInt.
Publicado por: Ogramar en 31 de Marzo 2015, 10:13
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
Título: Re:CU00672B Generar números aleatorios en Java. Clase Random y método nextInt.
Publicado por: Lorenzo31 en 31 de Marzo 2015, 14:20
Muchas gracias Ogramar, y por los apoyos recibidos que hacen falta, el curso es duro. Pero tremendamente útil,