java 随机数 研究与应用

最近看到java.lang.Math类时,注意到random()方法,想想应该把java随机数类作为一个点来研究以下。

1、  随机数 &  伪随机数

   在计算机上用数学方法产生某一分布的随机数,由于是依照某种算法产生的,就不可能是真正的随机数,因此常把数学方法产生的随机数称为伪随机数。只要伪随机数具有真正随机数的一些统计性质,就可以把伪随机数作为真正随机数来使用。

2.JAVA随机数类

2.1  Java中的Math类提供的random方法,该方法的返回带正号的 double 值,大于或等于 0.0,小于 1.0。返回值是一个伪随机(选择的数,在上述范围内(大致)均匀分布 .
2.2 Random类产生伪随机数。
nRandom对象产生以后,可以通过对象调用不同的函数:nextInt()、nextLong()、nextFloat()、nextDouble()等来获得不同类型的随机数。   大致均匀分布 , 特点随即种子选取比较好

3. 产生不可重复的随机数

     3.1   现实情况中,有些情况是允许产生重复的随即数的:比如丢多个骰子、验证码生成。作了个简单模拟投2个骰子的程序,核心程序就2句:

    Random rand = new Random();

    int point = rand.nextInt(6)+1;

  可以使用产生的随机数生成不同的骰子点数图片;

  3.2 不可重复的随机数,比如福利彩票摇奖程序,摇出的球号前后肯定是不能重复的。

   一种思路是,如35投7中,首先将剩余球信息存放在一个数组(对象或整型)中,随机在剩余球数中产生一个球位置索引,然后将该球信息作为摇出球的信息。

  4. 应用

      可以应用于以上的情况,还有诸如游戏类(牌类、拼图)等等。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值