Manipulation Math.random() : génération d'entiers aléatoires dans une plage spécifiée
La fonction Java Math.random() génère des nombres aléatoires dans la plage [0, 1). Cependant, il existe des situations dans lesquelles vous devrez peut-être obtenir des entiers aléatoires dans une plage spécifique. Cet article montre comment y parvenir en utilisant Math.random().
Intention de générer un entier aléatoire entre trois et cinq
Alors que l'instruction "(int) Math .random() * 5 3" ne génère pas correctement des entiers aléatoires dans la plage [3, 5], cela peut être corrigé à l'aide d'un paramètre personnalisé méthode :
int randomWithRange(int min, int max) { int range = (max - min) + 1; return (int) (Math.random() * range) + min; }
Cette méthode calcule la plage de valeurs possibles, la multiplie par Math.random() et ajoute la valeur minimale pour garantir l'inclusivité.
Exemple de sortie
System.out.println(randomWithRange(3, 5)); // Output: 3
Protection contre les idiots en cas d'erreur Commande
Pour éviter les erreurs si min est supérieur à max, une méthode mise à jour est :
int randomWithRange(int min, int max) { int range = Math.abs(max - min) + 1; return (int) (Math.random() * range) + (min <= max ? min : max); }
Extensions pour la génération de nombres aléatoires doubles
Une méthode similaire peut être utilisée pour générer des nombres aléatoires en double précision :
double randomWithRange(double min, double max) { double range = (max - min); return (Math.random() * range) + min; }
En utilisant ceci méthode :
System.out.println(randomWithRange(3.0, 5.0));
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!