/ / java Math.random () de -N a N - java

java Math.random () de -N a N - java

Necesito elegir un número al azar (esto esjava, usando Math.random ()) entre -N y N. Específicamente, en este caso actual necesito elegir un número aleatorio entre -1 y 1. Todos los resultados que encontré han explicado cómo encontrar un número aleatorio entre algunos números positivos.

En este momento estoy usando esta declaración, que solo cubre la mitad de lo que necesito.

double i = Math.random();

Respuestas

3 para la respuesta № 1

Para un número aleatorio entre -n y n:

/**
* @return a random number, r, in the range -n <= r < n
*/
public static double getRandom(double n) {
return Math.random()*n*2 - n;
}

1 para la respuesta № 2

Solo usa:

2 * Math.random() - 1

1 para la respuesta № 3

La fórmula general para generar números aleatorios distribuidos uniformemente dentro de un rango (mínimo, máximo) es:

min + rand.nextDouble() * (max - min)

En tu caso, max == -min == N. Simplemente conecte los valores y simplifique:

2 * N * rand.nextDouble() - N

0 para la respuesta № 4

usar al azar en

(0, 32767+32768) then subtract by 32768

o Generar números entre 0 and 65535 then just subtract 32768


0 para la respuesta № 5

Prueba esto:

double n = 1.0;
double range = 2 * n;
double value = range * Math.random() - n;

Puedes modificar el n valor para alterar el valor máximo / mínimo generado, por ejemplo, si necesita números aleatorios en el rango [-10, 10) luego deja n = 10.0;