美文网首页
随机数产生

随机数产生

作者: 喏喏2021 | 来源:发表于2022-02-13 20:47 被阅读0次

1. Random产生

这里示例,我们产生20个1000以内的整数

import java.util.Random;

public class RandomTest {
    public static void random1(){
        Random r = new Random();
        for(int i=0;i<20;i++){
            int num = r.nextInt(1000);
            System.out.print(num + " ");
        }
    }

    public static void main(String[] args) {
        random1();
    }
}
//输出
383 205 604 568 525 418 759 558 804 728 205 723 866 567 521 592 399 434 221 68 

注:
1)这里的nextInt产生的数,包括[0,num),也就是这里是0-999
2)Random初始化的时候,默认是没有参数的,也就是以当前时间为种子,
而当然我们也可以指定一个long的参数作为种子,
3)如果种子相同,产生的随机数序列也是相同的

2. 使用Math.random产生

产生一个指定范围的随机数

public static void random2(){
        int min = 1;
        int max = 100;
        for(int i=0;i<20;i++){
            double d = Math.random();
            int v = (int)(d * (max-min) + min);
            System.out.print(v + " ");
        }
        System.out.println();
    }
//输出
74 88 65 13 34 72 13 14 13 75 62 92 9 73 45 47 16 64 74 52

注:
1)Math.random会产生一个[0.0-1.0)之间的随机数
2)(int)(d(max-min) + min) 产生[min,max)之间的数,d(max-min)产生[0,(max-min)),
d*(max-min) +min产生[min,max)之间的随机数

3. ThreadLocalRandom产生

public static void random3(){
        for(int i=0;i<20;i++){
            int num = ThreadLocalRandom.current().nextInt(1000);
            System.out.print(num + " ");
        }
        System.out.println();
    }
//输出
585 971 182 919 416 505 127 223 662 944 533 340 990 763 738 863 566 970 645 996

使用方法类似于第一种

4. 使用SecureRandom产生

使用加密的强随机数生成器RNG,使产生的种子是真正的随机数,保证输出的不确定性

public static void random4() throws NoSuchAlgorithmException {
        SecureRandom random = SecureRandom.getInstance("SHA1PRNG");
        for(int i=0;i<20;i++){
            int num = random.nextInt(1000);
            System.out.print(num + " ");
        }
    }
//输出
788 72 159 367 254 9 157 681 367 8 636 34 695 202 530 960 832 489 439 215

相关文章

  • c++随机数

    c++产生若干随机数 产生某一区间的随机数

  • 系统随机数产生方法

    1、通过系统环境变量($RANDOM)产生随机数 2、通过openssl产生随机数 3、通过时间获得随机数(dat...

  • srand48(time(0))随机产生一种颜色

    计算机产生的随机数并不是真正随机的,所以叫 伪随机数。当“种子”固定时,它产生的随机数序列是不变的,例如产生10个...

  • c#中产生随机数方法

    一:产生指定范围内的几个随机数 二:产生0~100的一个随机数

  • java 获取随机数

    java产生随机数的3种方式 一.使用Math.random()方法 Math.random() 产生的随机数是0...

  • 命令行参数-Djava.security.egd=file:/d

    背景 在java开发中广泛使用SecureRandom,产生可靠随机数。但在大量产生随机数的场景下,性能会较低。 ...

  • 随机数产生

  • 随机数产生

    用C++实现,产生100以内得随机数 函数实现: 实验结果: 设定产生得数据长度为10。

  • 随机数产生

    1. Random产生 这里示例,我们产生20个1000以内的整数 注:1)这里的nextInt产生的数,包括[0...

  • 随机数

    rand:当程序运行起来,系统自动产生一个种子(产生随机数的小系统,需要一个参考点),使用rand产生随机数之后,...

网友评论

      本文标题:随机数产生

      本文链接:https://www.haomeiwen.com/subject/ptfqlrtx.html