martes, 11 de junio de 2019

Generar números Enteros aleatorios para un rango de valores


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());
    }             
}



No hay comentarios:

Publicar un comentario

Ok.

Nota: solo los miembros de este blog pueden publicar comentarios.