用Java生成随机数

Java提供了三种使用一些内置方法和类生成随机数的方法,如下所示:

null
  • JAVAutil。随机的
  • 数学随机的 方法:可以生成双重类型的随机数。
  • ThreadLocalRandom

1) 爪哇。util。随机的

  • 为了使用这个类来生成随机数,我们必须首先创建这个类的一个实例,然后使用该实例调用诸如nextInt()、nextDouble()、nextLong()等方法。
  • 我们可以使用这个类生成整数、浮点、双精度、长型和布尔型的随机数。
  • 我们可以将参数传递给方法,以便为要生成的数字范围设置上限。例如,nextInt(6)将生成范围为0到5(包括0到5)的数字。

      // A Java program to demonstrate random number generation
      // using java.util.Random;
      import java.util.Random;
      public class generateRandom{
      public static void main(String args[])
      {
      // create instance of Random class
      Random rand = new Random();
      // Generate random integers in range 0 to 999
      int rand_int1 = rand.nextInt( 1000 );
      int rand_int2 = rand.nextInt( 1000 );
      // Print random integers
      System.out.println( "Random Integers: " +rand_int1);
      System.out.println( "Random Integers: " +rand_int2);
      // Generate Random doubles
      double rand_dub1 = rand.nextDouble();
      double rand_dub2 = rand.nextDouble();
      // Print random doubles
      System.out.println( "Random Doubles: " +rand_dub1);
      System.out.println( "Random Doubles: " +rand_dub2);
      }
      }

      
      

      输出:

    Random Integers: 547
    Random Integers: 126
    Random Doubles: 0.8369779739988428
    Random Doubles: 0.5497554388209912
    

    2) 数学。随机的
    Math类包含用于执行各种数值操作的各种方法,如计算指数、对数等。其中一种方法是random(),该方法返回一个带正号的双精度值,大于或等于0.0,小于1.0。返回值是伪随机选择的。这种方法只能生成类型为double的随机数。下面的程序解释了如何使用这种方法:

    // Java program to demonstrate working of
    // Math.random() to generate random numbers
    import java.util.*;
    public class generateRandom
    {
    public static void main(String args[])
    {
    // Generating random doubles
    System.out.println( "Random doubles: " + Math.random());
    System.out.println( "Random doubles: " + Math.random());
    }
    }

    
    

    输出:

    Random doubles: 0.13077348615666562
    Random doubles: 0.09247016928442775
    

    3) 爪哇。util。同时发生的ThreadLocalRandom类
    java 1.7中引入了这个类来生成整数、双精度数、布尔数等类型的随机数。下面的程序解释了如何使用这个类来生成随机数:

    // Java program to demonstrate working of ThreadLocalRandom
    // to generate random numbers.
    import java.util.concurrent.ThreadLocalRandom;
    public class generateRandom
    {
    public static void main(String args[])
    {
    // Generate random integers in range 0 to 999
    int rand_int1 = ThreadLocalRandom.current().nextInt();
    int rand_int2 = ThreadLocalRandom.current().nextInt();
    // Print random integers
    System.out.println( "Random Integers: " + rand_int1);
    System.out.println( "Random Integers: " + rand_int2);
    // Generate Random doubles
    double rand_dub1 = ThreadLocalRandom.current().nextDouble();
    double rand_dub2 = ThreadLocalRandom.current().nextDouble();
    // Print random doubles
    System.out.println( "Random Doubles: " + rand_dub1);
    System.out.println( "Random Doubles: " + rand_dub2);
    // Generate random booleans
    boolean rand_bool1 = ThreadLocalRandom.current().nextBoolean();
    boolean rand_bool2 = ThreadLocalRandom.current().nextBoolean();
    // Print random Booleans
    System.out.println( "Random Booleans: " + rand_bool1);
    System.out.println( "Random Booleans: " + rand_bool2);
    }
    }

    
    

    输出:

    Random Integers: 536953314
    Random Integers: 25905330
    Random Doubles: 0.7504989954390163
    Random Doubles: 0.7658597196204409
    Random Booleans: false
    Random Booleans: true
    

    参考资料: https://docs.oracle.com

    本文由 严酷的阿加瓦尔 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 贡献极客。组织 或者把你的文章寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。

    如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享