Numeros aleatorios en java

daniel_5
26 de Octubre del 2007
Hola, A ver si me podeis decir como se hace un numero aleatorio entre un rango determinado en java,pro ejemplo entre 2 y 5 entre 0 y 5 me sale pero entre 2 y 5 no.

Gracais

raez
26 de Octubre del 2007
Hazlo entre 0 y 3 y le sumas 2

NO FUNCIONAQ
26 de Octubre del 2007
NO FUNCIONA

Eduardo
26 de Octubre del 2007
genera numeros aleatorios unicos... o sea.. no se repiten...


public static int[] unicos(int i){
int u =0;
u = i;
int a[] = new int[u];
Random rnd = new Random();

int bool = 0;
int valor = 0;
int t = 0;
do{
valor = rnd.nextInt(u) + 1;
// System.out.println(valor);
for(int j = 0; j<a.length;j++){
if(valor == a[j])
bool = -1;
}

if(bool == 0){
a[t] = valor;
t++;
}
bool = 0;
} while(t != u);

return a;

}

elimarmol
26 de Octubre del 2007
Hola, podrias implementar el sigueinte metodo
donde a y b seria el rango, en tu caso 2 y 5
para usarlo solo debes hacer:
int iNumero=random(2,5);
public static int random(int a, int b)
{
if(a >= 0)
return r.nextInt((b-a));
else
return r.nextInt((b-a));
}
suerte

elimarmol
26 de Octubre del 2007
disculpame daniel!!!
el anterior codigo es para j2me, para java debes usar
el siguiente,

para usarlo debes hacer
int iNumero=random(0,9);

public static int random(int a, int b)
{
if(a >= 0)
return (int)(Math.random() * (b - a + 1) + a);
else
return (int)(Math.random() * (b - a + 1)) + a;
}
y ahora si suerte!!!