开发者社区> 问答> 正文

生成随机数的各种方法?

生成随机数的各种方法?

展开
收起
请回答1024 2020-04-03 15:09:24 1284 0
2 条回答
写回答
取消 提交回答
  • 有点尴尬唉 你要寻找的东西已经被吃掉啦!

    方法一、Math类有个random方法可以实现随机数的生成。Math.random()返回的是:返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。在此基础上我们修改下就能得到一定范围的随机数: (int)(Math.random()*10)返回0到9的随机数。 (int)(Math.random()*n) 返回0到n的随机数。 (int)(Math.random()*100)+1 返回1到100之间的随机数,前面返回0到99之间的随机数,加1就成了1到100之间的随机数。 方法二、Java中Random类 必须先Random random=new Random(); random.nextInt();返回的是int型的范围的随机数 random.nextInt(10);返回的是0到9范围的随机数 所以random.nextInt(100)+1;就生成1到100之间的随机数 random.nextInt(n)+m;就返回m到m+n-1之间的随机数 请大家区分二者的区别。。

    2020-04-03 22:17:20
    赞同 展开评论 打赏
  • 1,生成 [ 0, 1 ) 范围内的随机数(大于等于0,小于1) (1)使用 random() 方法可以返回一个介于 0 ~ 1 之间的伪随机数(包括 0,不包括 1)。

    Math.random()
    
    

    (2)下面是一个测试样例

    var random = Math.random();
    console.log(random);
    

    2,生成 [ n, m ) 范围内的随机数(大于等于n,小于m) (1)这种最简单,因为和 random 的特点保持一致。只需使用如下公式即可:

    Math.random()*(m-n)+n
    
    

    (2)比如下面生成 [10,15) 范围内的随机浮点数。

    var random1 = Math.random()*(15-10)+10;
    var random2 = Math.random()*(15-10)+10;
    var random3 = Math.random()*(15-10)+10;
    console.log(random1);
    console.log(random2);
    console.log(random3);
    
    
    2020-04-03 15:11:14
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载