El manejo de valores generados por un propio Software o en este caso generar números aleatorios en Java, nos permite construir piezas de Software capaces de realizar acciones inesperadas. Tomando como referencia un número creado de forma aleatoria; estos valores pueden ser utilizados de infinitas maneras, todo depende de las necesidades del programador. En este artículo veremos cómo manejar números aleatorios en Java, con ejemplos sencillos ajustables a cualquier proyecto de Software que estés desarrollando.
Cómo generar números aleatorios en Java
Veamos solo algunos casos en los cuales puede ser útil generar un número aleatorio:
- Necesitamos elegir un elemento de un arreglo.
- Realizar operaciones matemáticas con números generados automáticamente.
- Deseamos realizar acciones múltiples dependiendo el valor de una variable aleatoria.
- Seleccionar palabras de un listado utilizando un número aleatorio.
Cómo podemos observar, generar números aleatorios; Permite que el Software sera más dinámico, tanto así que el usuario podrá percibir que este tiene una capacidad de elegir voluntariamente.
¿Pero cómo generar un número aleatorio en Java?
En Java podemos apoyarnos en la clase Math, que contiene métodos para el tratamiento de números y operaciones matemáticas; que a su vez tiene una propiedad «random«. Mediante la cual podemos gestionar números aleatorios, veamos ejemplos.
🌟 ¡Visita Nuestra Tienda para Programadores! 🌟Descubre Códigos Fuente, Cursos, Software, Computadoras, Accesorios y Regalos Exclusivos. ¡Todo lo que necesitas para llevar tu programación al siguiente nivel!
Math.random()
Revisando un poco la documentación de Java, podemos leer sus especificaciones acerca de esa clase y su método random.
Devuelve un valor doble con un signo positivo, mayor o igual que 0.0 y menor que 1.0. Los valores devueltos se eligen pseudoaleatoriamente con una distribución (aproximadamente) uniforme de ese rango.
De esta forma sabemos que el método random, retorna un valor double; por consiguiente realizaremos el siguiente ejemplo:
Ejemplo 1: Generar un número aleatorio tipo double con Math.random
Teniendo el código anterior, podemos generar un número decimal aleatorio entre 0.0 y 1.0, veamos un ejemplo la salida al ejecutar este código.
Salida
run: 0.4449485979765232
Sin embargo, es muy común necesitar dos cosas:
- Que los números sean enteros.
- Generarlos teniendo en cuenta un rango.
Ejemplo 2: Generando un número aleatorio entero en Java
Cómo observamos en el código anterior, ya hacemos uso de una variable tipo entera. Esto gracias al «casting» que nos permite hacer una conversión entre tipos; para este caso de double a entero y lo hacemos con el fin de solo obtener la parte entera del número generado.
Los números que podemos generar serán enteros entre 1 y 5, podemos observar «5 + 1«, esto es gracias a que el primer número en el conteo sería «0«, para evitar este valor sumamos un valor más al número generado.
Salida
run: 3
Ejemplo 3: Generar un número aleatorio estableciendo un intervalo
Básicamente en el ejemplo anterior se estableció un intervalo, que es entre 1 y 5; sin embargo si deseamos indicar inicialmente por parte del usuario los valores podemos hacerlo, así.
En este caso los números para establecer el intervalo son recuperados mediante Scanner, sin embargo pueden ser muchas maneras de establecerlos; inclusive también pueden ser generados aleatoriamente.
Salida
run: Ingrese valor inicial 100 Ingrese valor final 110 101
Cabe recordar que al momento de utilizar este tipo de clases y métodos para la manipulación de números aleatorios en Java, se hace necesario pensar acerca de las validaciones necesarias sobre los números generados. Debido a que podemos estar creando valores que dejen en un estado indeterminado al Software construido.