Está en la página 1de 2

Anexo.

- La clase Random

La biblioteca de Java nos provee dentro de sus librerías (Import java.util.Random;) la clase
Random.

Esta permite crear objetos cuyos métodos permiten generar números pseudoaleatorios
basados en una semilla base que el método obtiene de la fecha y hora del sistema y a la que le
aplica un algoritmo.

Para poder usarla tenemos primero que crear un objeto de tipo Random del siguiente modo
llamando al constructor por defecto (el constructor es el que crea y declara el objeto para
poder ser usado):

Random rnd = new Random();

En este caso creamos rnd (nombre elegido por nosotros que puede ser cualquier otro) como
objeto Random

Los métodos asociados a este objeto son

Función miembro Descripción Rango


rnd.nextInt() Número aleatorio entero de tipo int 2-32 y 232
rnd.nextInt(n) Numero aleatorio entero entre 0 y n-1 0, n-1
rnd.nextLong() Número aleatorio entero de tipo long 2-64 y 264
rnd.nextFloat() Número aleatorio real de tipo float [0,1[
rnd.nextDouble() Número aleatorio real de tipo double [0,1[

De este modo cuando quiera generar números enteros haré

Random rnd = new Random();

int azar;

azar=rnd.nextInt(); // con esto genero un numero entero y así


//sucesivamente para los demás métodos declarando la variable
//correspondiente.

Ahora bien, la mayoría de veces hay que generar número entre a y b. Para ello usaremos casi
con exclusividad el segundo método:

azar=rnd.nextInt(10); // genera números entre 0 y 9

Si quiero generar números entre a y b la forma es la siguiente

azar=rnd.nextInt(b-a+1)+a; // con esto genera numero entre 0 y

// b-a y al sumarle a quedaran entre a y b

Aquí tenéis un ejemplo que ilustra el uso de estos métodos:


Anexo.- La clase Random

import java.util.Random;
public class numeritos
{

public static void main(String[] parametro)


{
int dato,t;
Random azar =new Random();
System.out.println("Tabla de azar de 1 a 100");
// genero numero de 1 a 100
for (t=1;t<=10;t++){
dato=azar.nextInt(100)+1;
System.out.println(dato);
}

// si quiero generar numeros de a a b pondre nextInt(b-a+1)+a


// Ejemplo
int a=5,b=10;
System.out.println("Tabla de azar de 5 a 10");
for (t=1;t<=10;t++){
dato=azar.nextInt(b-a+1)+a;
System.out.println(dato);
}

}
}

También podría gustarte