Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Llenar un Array de numeros aleatorios

¿Voy bien encaminado? Quiero llenar un array int:
con numeros aleatrorios del 10 al 99, pero creo que no lo estoy enfocando bien con el For.
ejemplo de como he empezado:

int[] numeros = new int[9];

{
for (int n= 10 ; n < 99;creo que el truco está en lo que teclee aqui); {

numeros[0] = n ;
numeros[1] = n ;
numeros[2] = n;
numeros[3] = n;
numeros[4] = n;
numeros[5] = n;
numeros[6] = n;
numeros[7] = n;
numeros[8] = n;


rnd.nextInt(); <- esto no me rula
Gracias

octubre 6, 2011 | Registered Commenterhugodepino

static final int min = 10;
static final int max = 99;
final Random rand = new Random();

for (int i = 0; i < 9; i++) {
numeros[i]= rand.nextInt(max - min + 1) + min;
}

octubre 6, 2011 | Unregistered Commenterchoces

Si lo que quieres es no tener numeros repetidos, prueba con esto: http://lospuntossobrelasjotas.blogspot.com/2010/05/escogiendo-numeros-al-azar-o-rtfa.html

Si se permiten repetidos, entonces es más sencillo y la solución de choces mismo basta.

octubre 6, 2011 | Unregistered CommenterVerdoso

Según la especificación inicial, y siguiendo la misma idea propuesta por Verdoso, para el caso de que los números aleatorios no se deban repetir, he preparado este método, adaptado a los requisitos planteados:

public int[] getRandomArray(final int min, final int max, final int size) {
int[] result = new int[size];
final int range = max - min;
final List<Integer> list = new ArrayList<Integer>(2 * range);
for (int index = 0; index <= range; index++) {
list.add(index + min);
}
Collections.shuffle(list);
for (int i = 0; i < size; i++) {
result[i] = list.get(i);
}
return result;
}

No lo he probado. Tan sólo me he asegurado de que compila.

octubre 6, 2011 | Unregistered Commenterchoces

No hace falta decir, que el método anterior es un prototipo, ya que no realiza comprobaciones de validez de los parámetros :)

octubre 6, 2011 | Unregistered Commenterchoces

A/A choces:
Estimado amigo agradecería te pusieras en contacto conmigo (hugodepino@hotmail.com) para poder hacerte una proposición (decente :) )

Gracias.

octubre 7, 2011 | Registered Commenterhugodepino