"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment générer un double aléatoire dans une plage spécifiée en programmation ?

Comment générer un double aléatoire dans une plage spécifiée en programmation ?

Publié le 2024-11-09
Parcourir:987

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

Génération d'un double aléatoire dans une plage spécifiée

En programmation, il est souvent nécessaire de générer des valeurs aléatoires dans une plage spécifique. Ceci est généralement réalisé à l'aide d'un générateur de nombres aléatoires qui renvoie des valeurs comprises entre 0 et 1. Cependant, si vous avez des valeurs minimales et maximales spécifiques, vous devrez peut-être ajuster la sortie en conséquence.

Considérez la situation suivante : Vous avez deux valeurs doubles, min et max, et vous souhaitez générer un double aléatoire entre ces deux valeurs. Le code suivant génère uniquement un double aléatoire entre 0 et 1 :

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

Pour spécifier la plage, vous devez effectuer quelques calculs supplémentaires :

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

Voici comment fonctionne ce code :

  • L'objet Random r génère un double aléatoire entre 0 et 1.
  • La variable randomValue est calculée en ajoutant la valeur rangeMin à la différence entre rangeMax et rangeMin multipliée par le double généré aléatoirement.

Ce calcul déplace effectivement la plage de la valeur générée vers être dans les limites spécifiées. Par conséquent, randomValue sera un double aléatoire entre rangeMin et rangeMax.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3