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

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

hzc
hzcoriginal
2020-06-22 17:58:225312parcourir

Comment générer des nombres aléatoires en Java La génération de nombres aléatoires est très couramment utilisée dans certains codes, et c'est aussi quelque chose que nous devons maîtriser. Il existe trois manières principales de générer des nombres aléatoires en Java :

La première : new Random()

La deuxième : Math.random()

La troisième : currentTimeMillis()

Le premier type nécessite l'aide de la classe java.util.Random pour générer un générateur de nombres aléatoires, qui est également le plus couramment utilisé. Il existe deux constructeurs, Random() et Random<.> La première consiste à utiliser l'heure actuelle comme valeur de départ par défaut, et la seconde consiste à utiliser 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. (long seed)。

La graine est la première valeur utilisée pour générer un nombre aléatoire. Le mécanisme consiste à utiliser une fonction pour convertir la valeur de la graine en un certain point dans l'espace des nombres aléatoires, et les nombres aléatoires générés sont uniformes. distribué dans l'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.

La valeur renvoyée par la deuxième méthode est une valeur double de [0.0, 1.0). Étant donné que les nombres doubles ont une grande précision, ils peuvent être considérés dans une certaine mesure comme des nombres aléatoires et peuvent être exécutés à l'aide de (int) La conversion de type peut obtenir des nombres aléatoires entiers, 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);   
   }

Quant à la troisième méthode, même si elle n'est 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);

    }

Tutoriel recommandé : "

tutoriel 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