Inicio Apuntes FPApuntes DAM Obtener un número aleatorio de un conjunto con Java.Math

Obtener un número aleatorio de un conjunto con Java.Math

Publicado por entreunosyceros
Publicado el: Última actualización:

AVISO: Esta entrada tiene más de dos años desde su publicación. Es posible que el contenido esté desactualizado.

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.

También te puede interesar ...

Deja un comentario

* Al utilizar este formulario, aceptas que este sitio web almacene y maneje tus datos.

Adblock Detectado!!

Ayúdanos deshabilitando la extensión AdBlocker de tu navegador para visitar esta web.
Si no sabes hacerlo en Chrome, consulta el siguiente enlace. Si utilizas Firefox, puedes consultar este otro enlace.
Esto mejorará tu experiencia en este sitio web.