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

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

尚
original
2019-12-27 10:35:277529parcourir

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()

Vous devez utiliser la classe java.util.Random pour générer un nombre aléatoire Le générateur de nombres est également le plus couramment utilisé. Il possède 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.

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);
  }
}

Deuxième type : Math.random()

La valeur renvoyée par la méthode Math.random() est [0.0, 1.0 ) valeur de type double. Étant donné que le nombre de type double a une grande précision, il peut être considéré dans une certaine mesure comme un nombre aléatoire. En utilisant (int) pour effectuer une conversion de type, le nombre aléatoire entier peut être obtenu. suit.

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

Troisième type : currentTimeMillis()

La méthode currentTimeMillis() renvoie 0:00:00 le 1er janvier 1970 (cela est lié aux systèmes UNIX) à le nombre long actuel en millisecondes, après avoir pris le module, 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);
        
    }

Pour plus de connaissances sur Java, veuillez faire attention à la colonne Tutoriel de base 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