Java随机数总结

1、Java中随机数生成方式
1)java.util.Random
Random类中的随机算法是伪随机,也就是有规则的随机,随机数实际上是seed经过运算后近似随机数的数字。指定seed,随机数序列确定;默认seed为系统当前时间戳。
常用方法:
· nextInt(),返回int值
· nextInt(n),返回[0, 1)
· nextDouble(),返回[0.0, 1.0),nextDouble()没有参数
//Random random = new Random();//默认构造方法    
Random random = new Random(10);//指定seed
int i = random.nextInt(10);
2)Math.random()
Math工具类,Math.random()返回[0.0, 1.0)double,内部实现就是封装了Random.nextDouble方法。
 double d = Math.random();
3)System.currentTimeMillis(),获取系统时间戳,取余
 long l = System.currentTimeMillis();    
 int i = (int)(l % 100);
2、范围随机数生成
1)整型
· [min, max),random.nextInt(max - min) + min
· [min, max],random.nextInt(max - min + 1) + min
· 以33.5%的概率生成1, 66.5%概率生成0:
Random random = new Random(10);
int sum = 0; //33.5%概率生成1,66.5%概率生成0
for (int i = 0; i < 100000; i++) {
    int data = random.nextInt(1000);
    if (data < 335) sum++;
}
System.out.println(sum);
2)浮点型
· [0, 1.0),random.nextInt()
· [0, max),random.nextInt() * max
· [min, max),random.nextInt() * (max - min) + min


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值