Abraham nos preguntaba en el artículo de Numero al Azar en Java sobre como se podría sacar un número al azar de un subconjunto acotado de elementos.
La verdad es que la pregunta es muy buena y es por ello por lo que me he decidido a explicar como conseguirlo.
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.
Math.random()*cantidadNumeros+numeroInicio
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[] = {2,4,6,8,10};
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.
x = Math.random()*numeros.length+0);
System.out.println(numeros[x]);