Sunteți pe pagina 1din 6

La Clase Random (Secuencias

Aleatorias)

El elemento de azar, ya sea mediante un juego u otra


aplicación de este, puede ser introducido a Java mediante un
objeto de la clase Random, el cual es importado del paquete
java.util.*; cuya carpeta «util» esta llena de utilerías necesarias
para el calculo de datos, etc.
O mediante el método static llamado Random, de la clase
Math.*; este método únicamente produce valores de tipo double
entre 0.0 <= x <1.0, donde x es el valor regresado por el método.
Cabe destacar que la clase Random, proporciona un generador
de números aleatorios mucho más flexible, que la función
estática Random de la clase Math.
Importar y crear objetos de la clase Random

Para crear una secuencia de numero aleatorios, debemos seguir


los siguientes pasos:
1._Proporcionar a nuestro programa información acerca de la clase
Random, es decir, importar la clase desde la carpeta util;
escribiendo la siguiente sentencia: import.java.util.Random;
2._ Crear la instancia u objeto de dicha clase, así:
Random R = new Random(); donde R es el objeto.
>> Existen dos constructores para crear el objeto, el anterior
genera números aleatorios, la otra inicializa la generación con un
datos tipo Long, así: Random R = new Random(1234 L);
El sufijo L sirve de referencia nada más, pues automáticamente se
el valor se promociona a Long.
3._ Llamar a una de las funciones miembro que generan un número
aleatorio, entre ellas podemos definir:
a) Podemos cambiar la inicialización de la generación de los números
aleatorios en cualquier momento, llamando a la función miembro
setSeed, así: aleatorio.setSeed(3816);
Así mismo podemos generar numeros aleatorios de 4 formas
diferentes:
b) Generando un número aleatorio entero de tipo int, así:
int aleatorio = R.nextInt(4);
c) Generando un número aleatorio entero de tipo long, así:
int aleatorio = R.nextLong();
d) Generando un número aleatorio de tipo float entre 0.0 y 1.0,
aunque siempre menor que 1.0, así: float aleatorio = R.nextFloat();
e) Generando un número aleatorio de tipo double entre 0.0 y 1.0,
aunque siempre menor que 1.0, así:
double aleatorio = R.nextDouble();
Dado la siguiente línea de código:
int aleatorio = R.nextInt(int x);
Int aleatorio es la variable donde se almacenará el valor
aleatorio devuelto por R, que es nuestra variable de
instancia de la clase Random, el método nextInt, se encarga
de generar un valor aleatorio entre 0 y el valor de (x) sin
incluir dicho valor, y a la vez estos valores devueltos por
nextInt son en realidad valores seudoaleatorios (son
producidos por cálculos matemáticos complejos), con el
objetivo de sembrar el generador de numeros aleatorios,
de modo que la secuencia no se repita.
Dado el ejemplo de la caída de un dado, existen 6
probabilidades de su caída:
int aleatorio = R.nextInt(6)
Por lo tanto en este caso el valor de x=6, a este valor se
le conoce como el factor de escala, ya que representa el
número de valores únicos que nextInt puede producir, en
este caso 6 = (0,1,2,3,4,5); a esto se le como escalar el
rango de valores producidos por el método nextInt de
Random.
Pero un dado no tiene un lado con valor 0, ni va del 0 al
5, para solucionar esto se debe desplazar el rango de
valores producidos, sumando un valor de desplazamiento
en este caso 1.
int aleatorio = 1 + R.nextInt(6);
Ejercicio 1:
Elabore una aplicación *.java, que retorne el numero aleatorio
de un parámetro definido por el usuario. Deberá retornar true o
false si este es mayor a 10, si es true deberá realizar una división
entre 2, sino deberá mostrar un mensaje de error.
Nota: el parámetro 1 no debe ser mayor al segundo, ni pueden
ser negativos.
Ejercicio 2:
Elabore una aplicación *.java que muestre un histograma en
base a un numero aleatorio entre 1 y 20, solo si
el numero es múltiplo de 3; sino es así la aplicación deberá
continuar hasta encontrar un numero que si cumpla
con la condición propuesta. También se desea saber cuantos
intentos fallidos de un múltiplo de 3 obtuvieron antes
de encontrar el correcto.

S-ar putea să vă placă și