Maison >Java >JavaBase >Comment générer des nombres aléatoires en Java

Comment générer des nombres aléatoires en Java

coldplay.xixi
coldplay.xixioriginal
2021-02-09 16:18:5515001parcourir

Comment générer des nombres aléatoires en Java : 1. Utilisez la classe [java.util.Random] pour générer un générateur de nombres aléatoires ; 2. La valeur renvoyée est une valeur double de [[0.0,1.0)] .

Comment générer des nombres aléatoires en Java

L'environnement d'exploitation de ce tutoriel : système Windows 7, version Java 10, ordinateur DELL G3 Cette méthode convient à toutes les marques d'ordinateurs.

Méthode Java de génération de nombres aléatoires :

1. Le premier type

Le premier type nécessite l'aide de la classe java.util.Random. générer un générateur de nombres aléatoires est également le plus couramment utilisé. Il a deux constructeurs, Random() et Random(long seed). Le premier utilise l’heure actuelle comme valeur de départ par défaut et le second utilise la valeur de départ spécifiée. Après génération, différents types de nombres sont générés à l’aide de différentes instructions.

La graine est la première valeur utilisée pour générer des nombres aléatoires. Le mécanisme consiste à convertir la valeur de cette graine en un certain point dans l'espace des nombres aléatoires via une fonction, et les nombres aléatoires générés sont uniformément répartis dans espace. Les nombres aléatoires générés dans le futur sont liés au nombre aléatoire précédent. Prenons le code comme exemple.

    public static void main(String[] args)
    {
      Random r = new Random(1);
      for(int i=0 ; i<5 ;  i++)
      {
        int ran1 = r.nextInt(100);
        System.out.println(ran1);
      }
    }

Les cinq nombres générés par mon compilateur sont tous 85,88,47,13,54. Si Random r = new Random() est utilisé, les nombres aléatoires générés seront différents. Ceci est déterminé par le résultat. de la graine.

2. La deuxième méthode

La valeur renvoyée par la deuxième méthode est une valeur double [0.0, 1.0). Puisque le nombre de type double a une grande précision, il peut être utilisé dans une certaine mesure. extend. Traitez-le comme un nombre aléatoire et utilisez (int) pour effectuer une conversion de type afin d'obtenir un nombre aléatoire entier. Le code est le suivant.

public static void main(String[] args)
{    
    int max=100,min=1;
    int ran2 = (int) (Math.random()*(max-min)+min); 
    System.out.println(ran2);
}

3. La troisième méthode

Quant à la troisième méthode, bien qu'elle ne soit pas couramment utilisée, c'est aussi une idée. La méthode renvoie un long nombre de millisecondes depuis 0:00:00 le 1er janvier 1970 (cela est lié aux systèmes UNIX) jusqu'à aujourd'hui. Après avoir pris le modulo, un nombre aléatoire dans la plage requise peut être obtenu.

public static void main(String[] args)
{    
    int max=100,min=1;
    long randomNum = System.currentTimeMillis();  
    int ran3 = (int) (randomNum%(max-min)+min);  
    System.out.println(ran3);
    
}

Recommandations d'apprentissage associées : bases de 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