"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como gerar um duplo aleatório dentro de um intervalo especificado na programação?

Como gerar um duplo aleatório dentro de um intervalo especificado na programação?

Publicado em 2024-11-09
Navegar:445

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

Gerando um duplo aleatório dentro de um intervalo especificado

Na programação, muitas vezes é necessário gerar valores aleatórios dentro de um intervalo específico. Isso normalmente é conseguido usando um gerador de números aleatórios que retorna valores entre 0 e 1. No entanto, se você tiver valores mínimos e máximos específicos, pode ser necessário ajustar a saída de acordo.

Considere a seguinte situação: Você tem dois valores duplos, mínimo e máximo, e você deseja gerar um duplo aleatório entre esses dois valores. O código a seguir gera apenas um duplo aleatório entre 0 e 1:

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

Para especificar o intervalo, você precisa realizar alguns cálculos adicionais:

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

Veja como esse código funciona:

  • O objeto aleatório r gera um duplo aleatório entre 0 e 1.
  • A variável randomValue é calculada adicionando o valor rangeMin à diferença entre rangeMax e rangeMin multiplicado pelo valor gerado aleatoriamente double.

Este cálculo efetivamente muda o intervalo do valor gerado para estar dentro dos limites especificados. Portanto, randomValue será um duplo aleatório entre rangeMin e rangeMax.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3