zoukankan      html  css  js  c++  java
  • Java学习(二十二):随机数的产生方法

    Java随机数的产生方式
      在Java中,随机数的概念从广义上将,有三种。
      1、通过System.currentTimeMillis()来获取一个当前时间毫秒数的long型数字。
      2、通过Math.random()返回一个0到1之间的double值。
      3、通过Random类来产生一个随机数,这个是专业的Random工具类,功能强大。

    java.util.Random类来产生一个随机数发生器。它有两种形式的构造函数,分别是Random()和Random(long seed)。
    Random()此构造方法将随机数生成器的种子设置为某个值,该值与此构造方法的所有其他调用所用的值完全不同(网上有文章说是采用System.currentTimeMillis()作为种子,实测不确定,或许不是简单的用当前时间)。
    Random(long seed)使用指定的seed作为发生器的种子。相同的种子产生相同的随机数。
    随机数发生器(Random)对象产生以后,通过调用不同的method:nextInt()、nextLong()、nextFloat()、nextDouble()等获得不同类型随机数。

    1 public static void main(String[] args)
    2     {
    3         for (int i = 0; i < 10; i++)
    4         {
    5             Random rand = new Random();
    6             System.out.println("随机数" + i + ": " + rand.nextInt());
    7             System.out.println("Time: " + System.currentTimeMillis());
    8         }
    9     }

    打印结果可以看出,在相同的时间生成的随机数并不相同:

    随机数0: 428923238
    Time: 1446719287485
    随机数1: -1644891094
    Time: 1446719287485
    随机数2: -2063294173
    Time: 1446719287485
    随机数3: -220798588
    Time: 1446719287485
    随机数4: -1036960660
    Time: 1446719287485
    随机数5: -2027516416
    Time: 1446719287485
    随机数6: 705879658
    Time: 1446719287485
    随机数7: 388111823
    Time: 1446719287485
    随机数8: 1685942599
    Time: 1446719287485
    随机数9: -1417505914
    Time: 1446719287485

  • 相关阅读:
    猜数字游戏
    发红包程序
    实现微信摇一摇部分功能
    计算1+1/2+1/3+....+1/100的值
    约瑟夫问题
    简易计时器
    简易学生管理系统
    文件加密解密
    分鱼问题
    分橘子问题
  • 原文地址:https://www.cnblogs.com/moleme/p/4940465.html
Copyright © 2011-2022 走看看