Random类

前几天在做python,就没有更新~

  1. 首先需要指出的是,Random并不是真正的产生随机数,是以某一个数为种子,默认是以当前时间为种子来产生“伪随机数”的。
  2. Random有很多种可以产生不同类型随机数的方法,具体可以参考java的api文档。一下一些列举(里面还穿插了其他的一点小知识,积积小流~~):
    //测试Random类, 这个类产生的其实是伪随机数
    
    package com.test;
    
    import java.util.Random;
    public class Main {
    
        public static void main(String[] args) {
    	// write your code here
    
            Random rand = new Random();
    //        System.out.println("rand.nextBoolean(): " + rand.nextBoolean());
    //        将显示true或者false
    
            int[] ArrayTest = {0,1,2,2};
    //        System.out.print(Arrays.toString(ArrayTest));
    //        这个是意外发现的但是意义重大,以后显示数组不用循环了
    
    
            byte[] bytes = new byte[30];
            rand.nextBytes(bytes);
    //        System.out.println(Arrays.toString(bytes));
    //        一个byte表示一个八位二进制数,最左边为符号位,表示范围是[-128,127]
    
    //        System.out.println( new Integer(2).getClass());
    //        .getClass()可以显示变量的类型
    
    
            float f1 = rand.nextFloat();
    //        System.out.println(f1);
    //        产生(0,1)区间内的随机double类型的数
    
            int I1 = rand.nextInt();
    //        System.out.println(I1);
    //        产生随机整数,若不带参数,则返回[0, 2^32]区间的数,若带参数(int类型) bound,返回
    //        返回[0,bound]之间的int类型整数
    
          
        }
    }
    
  3. 下面这个代码实例是验证当种子一样的时候产生的伪随机数是一样的
    //由同一个种子构造的random对象产生的随机数是一样的
    package com.test;
    
    import java.util.Random;
    
    public class SeedTest {
        public static void main(String[] args[]){
    
        }
    
        public SeedTest(){
            Random r1 = new Random(System.currentTimeMillis());
            System.out.println(r1.nextFloat());
    //      System.currentTimeMillis() 获取当前时间的时间戳
    
            Random r2 = new Random(System.currentTimeMillis());
            System.out.println(r2.nextFloat());
    //  输出结果:      0.7297136
    //                 0.7297136
        }
    
    }
    

     

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值