
array permanente
Publicado por Francisco (12 intervenciones) el 24/06/2016 23:26:36
El objetivo de mi programa es que salgan aleatoriamente los números del 1 al 5 y sin repetir. Lo consigo con el código que muestro a continuación y que aparecen en la Consola dentro del bucle FOR. El problema es que esos números introducidos en el array reserva[i] no permanecen, por lo que al intentar mostrarlos fuera de ese bucle FOR, el resultado es que aparecen cinco 0 en lugar de los números anteriores. ¿Cómo puedo conseguir que se almacenen en ese array? Gracias.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
int n=5; //numeros aleatorios
int k=n; //auxiliar;
int res;
int[] numeros=new int[n];
int[] reserva=new int[n];
Random rnd=new Random();
//se rellena una matriz del 1 al 5 (1 a n)
for(int i=0;i<n;i++)
{
numeros[i]=i+1;
}
for(int i=0;i<n;i++)
{
res=rnd.nextInt(k);
reserva[i]=numeros[res];
numeros[res]=numeros[k-1];
k--;
//PRUEBA: BIEN, SALEN LOS 5 NÚMEROS ALEATORIOS Y SIN REPETIR
System.out.println("Prueba DENTRO del FOR: "+reserva[i]);
}
//Ver el resultado FUERA del FOR
// MAL, NO SE ALMACENÓ DE FORMA PERMANENTE: Todos 0
for(int i=0;i<5;i++)
{
System.out.println("Prueba FUERA del FOR: "+reserva[i]);
}
Valora esta pregunta


0