Programacionen Java

Páginas: 5 (1227 palabras) Publicado: 15 de noviembre de 2012
Generación de números aleatorios en Java. Clase Random.

APRENDERAPROGRAMAR.COM

GENERACIÓN DE
NÚMEROS ALEATORIOS EN
JAVA. CLASE RANDOM.
EJEMPLOS Y EJERCICIOS
RESUELTOS. (CU00906C)

Sección: Cursos
Categoría: Lenguaje de programación Java nivel avanzado I
Fecha última actualización: 2012
Resumen: Entrega nº6 del curso “Lenguaje de programación Java Nivel Avanzado I”.

Autor: WalterSagástegui y Manuel Sierra

© aprenderaprogramar.com, 2006-2012

Generación de números aleatorios en Java. Clase Random.

GENERACIÓN DE NÚMEROS ALEATORIOS
La clase Random proporciona un generador de números aleatorios. Es más flexible que la función
random de la clase Math. Vamos a ver un repaso de uso de la clase Random con ejemplos y ejercicios
resueltos. La generación de númerosaleatorios adquiere gran relevancia para un programador,
pudiendo tener distintas aplicaciones como:







Construcción preliminar de programas, en los que a falta de datos definitivos, introducimos datos
aleatorios.
Simulación de procesos aleatorios (número resultante de tirar un dado, elección de un color por
parte de una persona, número premiado en un sorteo de lotería, cantidad depersonas que entran
a un supermercado en una hora...)
Verificación de programas, y en particular lo que en verificación de algoritmos se conoce como
verificación aleatoria (probar el programa con distintos supuestos aleatorios).
Otras aplicaciones.

Conviene recordar que "aleatorio" no puede confundirse con "cualquier cosa", "descontrol", "incierto",
"impredecible", etc. Usaremos elvocablo “aleatorio”, más en el sentido de “no predeterminado” que
el de “no predecible”, ya que en general, vamos a definir qué tipo de resultado queremos obtener y en
qué rango de valores debe estar. Vamos a imaginar que Java genera números aleatorios, como si fuera
un robot lanzador de dardos muy preciso (robot rnd). De este modo, cuando se le dice que comience a
tirar dardos en distintasposiciones, repite siempre los lugares. Por ejemplo, si la diana está marcada
con números, cada vez que le decimos que tire, genera la misma secuencia: 7, 5, 6, 3, etc. ¿Cómo
conseguir convertir este proceso predefinido en aleatorio? Simplemente, poniendo a girar la diana
(mayordomo randomize), en este caso, a una velocidad que depende del segundo del día en que nos
encontremos. Así pues, el procesolo dividimos al decirle al mayordomo que ponga a girar la diana y al
indicarle al robot que dispare. Bueno, un poco simple, pero ¿para qué complicarnos? Veamos los pasos
sintácticos a emplear para crear una secuencia de números aleatorios:

1. Proporcionar a nuestro programa información acerca de la clase Random. Al principio del programa
escribiremos la siguiente sentencia:
Importjava.util.Random;
2. Crear un objeto de la clase Random:
La clase Random dispone de dos constructores, para crear un objeto. El primer constructor es:
Random rnd = new Random();

© aprenderaprogramar.com, 2006-2012

Generación de números aleatorios en Java. Clase Random.

crea un generador de números aleatorios cuya semilla es inicializada automáticamente, en base al
tiempo actual. Esto conllevaque en cada ejecución la semilla cambie, es decir, que la secuencia de
números aleatorios que se genera en cada ejecución siempre será diferente.
El segundo constructor es:
Random rnd = new Random(inicializar_semilla);
nos permite inicializar la semilla manualmente con un número entero cualquiera. Si este número es el
mismo en cada ejecución, la secuencia de números aleatorios que se generaen cada ejecución será
igual.

3. Llamar a una de las funciones miembro que generan un número aleatorio:
Hay cuatro funciones miembro diferentes que generan números aleatorios:
Función miembro

Descripción

Rango

rnd.nextInt()

Número aleatorio entero de tipo int

2-32 y 232

rnd.nextLong()

Número aleatorio entero de tipo long

2-64 y 264

rnd.nextFloat()

Número...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Programacion Java
  • Programacion en java
  • programacion java
  • programacion en java
  • Programacion java
  • programacion java
  • Programacion java
  • Programacion en java

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS