Buenas tardes, aquí dejo la solución a mi ejercicio
Clase EntradaDatos
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
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)
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