"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo generar un doble aleatorio dentro de un rango específico en programación?

¿Cómo generar un doble aleatorio dentro de un rango específico en programación?

Publicado el 2024-11-09
Navegar:735

How to Generate a Random Double Within a Specified Range in Programming?

Generar un doble aleatorio dentro de un rango específico

En programación, a menudo es necesario generar valores aleatorios dentro de un rango específico. Esto generalmente se logra usando un generador de números aleatorios que devuelve valores entre 0 y 1. Sin embargo, si tiene valores mínimos y máximos específicos, es posible que necesite ajustar la salida en consecuencia.

Considere la siguiente situación: tiene dos valores dobles, mínimo y máximo, y desea generar un doble aleatorio entre esos dos valores. El siguiente código solo genera un doble aleatorio entre 0 y 1:

Random r = new Random();
r.nextDouble();

Para especificar el rango, debe realizar algunos cálculos adicionales:

Random r = new Random();
double rangeMin = 100;
double rangeMax = 101;
double randomValue = rangeMin   (rangeMax - rangeMin) * r.nextDouble();

Así es como funciona este código:

  • El objeto aleatorio r genera un doble aleatorio entre 0 y 1.
  • La variable randomValue se calcula sumando el valor rangeMin a la diferencia entre rangeMax y rangeMin multiplicada por el valor generado aleatoriamente. double.

Este cálculo cambia efectivamente el rango del valor generado para que esté dentro de los límites especificados. Por lo tanto, randomValue será un doble aleatorio entre rangeMin y rangeMax.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3