Tabla de contenido
Un poco en relación con el anterior post publicado aquí (ya que me ha preguntado acerca de ello la misma persona) vamos a ver como se podría sacar un número al azar de un subconjunto acotado de elementos. Este ejercicio creo, si no me falla la memoria, que tuve que hacerlo en mi primer año en el ciclo de DAM (en la asignatura de programación con Java).
Como conseguir un número aleatorio de con conjunto con Java.Math
La cuestión es que no nos vale la formula de generación de números aleatorios estándar que utilizábamos con Java.Math, ya que esta nos dará un número aleatorio entre un número inicial y los N números que lo siguen. Pudiendo ser una cantidad de número demasiado grande.
Math.random()*cantidadNumeros+numeroInicio
Definir el conjunto de números en los que buscar
Lo primero que tenemos que hacer es definir el conjunto de elementos sobre los que queremos buscar el número aleatorio. Para ello utilizaremos un array:
int numeros[] = {0,3,6,9,12,15};
Obtener un número aleatorio
Ahora la idea es sacar un número aleatorio entre 0 y el número de elementos que tenemos en el conjunto. El número aleatorio que obtengamos lo utilizaremos para acceder al conjunto de elementos.
De esta forma obtendremos el número aleatorio del conjunto que habíamos definido con anterioridad en el array.
x = Math.random()*numeros.length+0);
System.out.println(numeros[x]);
Fácil y rápido este pequeño ejemplo. Quien quiera puede obtener más información acerca de Java.Math y el lenguaje de programación Java en Guru99.