Maison  >  Article  >  Java  >  Comment générer des nombres aléatoires dans une plage spécifique en Java ?

Comment générer des nombres aléatoires dans une plage spécifique en Java ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-07 08:36:02170parcourir

How to Generate Random Numbers Within a Specific Range in Java?

Génération de nombres aléatoires en Java

Lors de la création de programmes en Java, une exigence courante se pose : obtenir des nombres aléatoires. Cet article examine les techniques permettant de générer des nombres aléatoires dans une plage spécifiée, en abordant les défis associés à la limitation des sorties de Math.random().

Délimiter les valeurs de Math.random()

Math.random() génère des valeurs à virgule flottante entre 0 et 1. Pour contraindre ces valeurs dans une plage spécifique, une manipulation est nécessaire. Deux approches prédominent :

1. Limite multiplicative :

Cette approche multiplie la valeur aléatoire par la différence entre les limites inférieure et supérieure de la plage souhaitée. Par exemple, pour obtenir un nombre aléatoire entre 1 et 50 :

double random = Math.random() * 49 + 1;

2. Casting Bounding :

Ici, le casting est effectué pour convertir la valeur aléatoire à virgule flottante en un entier et appliquer les limites inférieure et supérieure :

int random = (int)(Math.random() * 50 + 1);

Solution alternative : Random Class

La classe java.util.Random fournit une solution plus complète pour générer des nombres aléatoires. Voici un exemple :

import java.util.Random;

Random rand = new Random();

// Obtain a number between [0 - 49].
int n = rand.nextInt(50);

// Add 1 to the result to get a number from the required range
// (i.e., [1 - 50]).
n += 1;

Sélectionnez l'approche qui convient le mieux à votre cas d'utilisation spécifique et profitez de la flexibilité de générer des nombres aléatoires en Java.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn