您现在的位置是:群英 > 开发技术 > 编程语言
Java如何生成随机数,有几种方法?
Admin发表于 2022-02-08 20:09:581232 次浏览

    这篇文章给大家分享的是Java如何生成随机数。小编觉得挺实用的,因此分享给大家做个参考,文中的给大家介绍了三种方法,有需要的朋友可以参考,接下来就跟随小编一起了解看看吧。

    本教程操作环境:windows7系统、java10版,DELL G3电脑,该方法适用于所有品牌电脑。

    java生成随机数的方法:

    1、第一种

    第一种需要借助java.util.Random类来产生一个随机数发生器,也是最常用的一种,构造函数有两个,Random()和Random(long seed)。第一个就是以当前时间为默认种子,第二个是以指定的种子值进行。产生之后,借助不同的语句产生不同类型的数。

    种子就是产生随机数的第一次使用值,机制是通过一个函数,将这个种子的值转化为随机数空间中的某一个点上,并且产生的随机数均匀的散布在空间中。以后产生的随机数都与前一个随机数有关。以代码为例。

    public static void main(String[] args)
    {
      Random r = new Random(1);
      for(int i=0 ; i<5 ;  i++)
      {
        int ran1 = r.nextInt(100);
        System.out.println(ran1);
      }
    }

    在我的编译器下产生的五个数均为85,88,47,13,54,如果采用Random r = new Random(),产生的随机数就不同,这就是确定种子导致的结果。

    2、第二种

    而第二种方法返回的数值是[0.0,1.0)的double型数值,由于double类数的精度很高,可以在一定程度下看做随机数,借助(int)来进行类型转换就可以得到整数随机数了,代码如下。

public static void main(String[] args)
{    
    int max=100,min=1;
    int ran2 = (int) (Math.random()*(max-min)+min); 
    System.out.println(ran2);
}

    3、第三种

    至于第三种方法虽然不常用,但是也是一种思路。方法返回从1970年1月1日0时0分0秒(这与UNIX系统有关)到现在的一个long型的毫秒数,取模之后即可得到所需范围内的随机数。

public static void main(String[] args)
{    
    int max=100,min=1;
    long randomNum = System.currentTimeMillis();  
    int ran3 = (int) (randomNum%(max-min)+min);  
    System.out.println(ran3);
    
}

    关于Java生成随机数的方法就介绍到这,上述示例具有一定的借鉴价值,感兴趣的朋友可以参考,希望能对大家有帮助,想要了解更多Java的内容,大家可以关注群英网络其它的相关文章。

文本转载自PHP中文网

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

相关信息推荐
2022-04-29 15:54:44 
摘要:给大家带来一篇关于PHP中单双引号用法误区的相关教程文章,内容涉及到php单引号和双引号、php单双引号的区别、php、单引号、分析PHP中单双引号的误区和双引号小隐患等相关内容,已被587人关注,更多关于分析PHP中单双引号的误区和双引号小隐患的内容希望能够帮助到大家。
2022-08-24 17:59:08 
摘要:本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于new的相关问题,new运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象类型之一,希望对大家有帮助。
2022-07-11 17:49:23 
摘要:去除步骤:1、使用foreach语句采用引用方式循环遍历数组,语法“foreach ($arr as &$v){循环体语句块;}”;2、在循环体中,使用is_string()函数判断数组元素“$v”是否为字符串类型,如果是则使用settype()函数将该元素设置为其他类型即可,语法“if(is_string($v)){settype($v,"指定类型");}”。
云活动
推荐内容
热门关键词
热门信息
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部