Para generar números aleatorios enteros para un rango de valores, haremos lo siguiente:
1) Crear la Clase Aleatorios.
2) Comprobar la clase en un main utilizando un objeto aleatorio.
Creación de la Clase Aleatorios
import java.security.NoSuchAlgorithmException;import java.security.NoSuchProviderException;
import java.security.SecureRandom;
/**
*
* @author Prof. Carlos G. Bustamante
* La siguiente clase generará un número entero aleatorio
* comprendido entre los valores 1 y Limite (valor que le pasaremos
* en el método Constructor).
*/
public class Aleatorios {
private int Limite;
private SecureRandom sr = new SecureRandom();
public Aleatorios(int Limite) {
this.Limite = Limite;
}
public int getLimite() {
return Limite;
}
public void setLimite(int Limite) {
this.Limite = Limite;
}
public int getAleatorio() throws NoSuchProviderException, NoSuchAlgorithmException{
sr = SecureRandom.getInstance("SHA1PRNG", "SUN");
return sr.nextInt(Limite)+1; // sumamos +1 para que no retorne un cero.
}
}
Prueba de la clase Aleatorios.
Creamos un objeto (numAle) de la clase Aleatorios para obtener 10 números enteros aleatorios comprendidos entre 1 y 100.
import ejercicios.Clases.Aleatorios; // ruta de mi archivo clase Aleatorios
import java.awt.Frame;
import java.security.NoSuchAlgorithmException;
import java.security.NoSuchProviderException;
/**
* @author Prof. Bustamante Carlos G.
*/
public class Ejercicios {
public static void main(String[] args) throws NoSuchProviderException, NoSuchAlgorithmException {
Frame parent = null;
Aleatorios numAle = new Aleatorios(100);
for(int i = 0; i < 10; i++) { // impresion de 10 numeros aleatorios
System.out.println(i+" Valor :"+numAle.getAleatorio());
}
}

