随机数的产生在一些代码中很常用,也是我们必须要掌握的。而java中产生随机数的方法主要有三种:

第一种:new Random()

第二种:Math.random()

第三种:currentTimeMillis()

第一种

第一种需要借助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(),产生的随机数就不同,这就是确定种子导致的结果。

第二种

而第二种方法返回的数值是[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);
}

第三种

至于第三种方法虽然不常用,但是也是一种思路。方法返回从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);}

附加有时候会用随机数随机拼接字符串

   public static void main(String[] args) {int max=100,min=1;String str="";for (int i = 0; i < 5; i++) {int ran = (int) (Math.random()*(max-min)+min);str+=ran;System.out.println(ran);}System.out.println(str);}

Java生成随机数几种方式相关推荐

  1. Java生成随机数的几种高级用法

    转载自 进阶 | Java生成随机数的几种高级用法! 言归正传,众所周知,随机数是任何一种编程语言最基本的特征之一.而生成随机数的基本方式也是相同的:产生一个0到1之间的随机数.看似简单,但有时我们也 ...

  2. java 生成随机数_Java 生成随机数的 N 种方法

    原标题:Java 生成随机数的 N 种方法 www.baeldung.com/java-generating-random-numbers 1.引言 本文将探讨用 Java 生成随机数的不同方法. 2 ...

  3. Java 生成随机数的 N 种方法

    (给ImportNew加星标,提高Java技能) 编译:ImportNew/覃佑桦 www.baeldung.com/java-generating-random-numbers 1.引言 本文将探讨 ...

  4. Java生成随机数原理_Java中随机数的产生方式与原理详解

    Java中随机数的产生方式与原理 查阅随机数相关资料,特做整理 首先说一下java中产生随机数的几种方式 在j2se中我们可以使用Math.random()方法来产生一个随机数,这个产生的随机数是0- ...

  5. java 生成随机数_不会生成随机数?我们来看看java生成随机数的10种方法

    1.引言 本文将探讨用 Java 生成随机数的不同方法. 2.Java API Java API 提供了几种随机数生成方法.让我们一起来了解一下. 2.1.java.lang.Math Math 类中 ...

  6. php随机数字不重复使等式成立_php随机数不重复生成的五种方式

    在前一篇文章中我介绍了php随机数的生成方法,我们都知道php随机数不管是在开发中,还是在移动应用中,都是不可少的一部分,平时日常开发中经常会跟php随机数打交道,那么今天就给大家介绍php随机数不重 ...

  7. 【java】Java运行时动态生成类几种方式

    1.概述 转载:Java运行时动态生成类几种方式 这里发现自己不知道的,原来Java 还能自己编译自己,学到了. 最近一个项目中利用规则引擎,提供用户拖拽式的灵活定义规则.这就要求根据数据库数据动态生 ...

  8. Java操作Excel三种方式POI、Hutool、EasyExcel

    Java操作Excel三种方式POI.Hutool.EasyExcel 1. Java操作Excel概述 1.1 Excel需求概述 1.2 Excel操作三种方式对比 2. ApachePOIExc ...

  9. Java 创建对象的 6 种方式,总有一种适合你

    创建对象的 6 种方式 假设有个女朋友类: @Data @NoArgsConstructor @AllArgsConstructor class GirlFriend {private String ...

  10. Java技术分享:升级所安装Java版本的两种方式

    在进行Java开发的时候我们可能会需要升级所安装的Java版本,那么你知道应该如何安装吗?小千今天就来给大家介绍两种方式. 一.卸载掉原本安装的Java,下载最新安装包安装即可. 这个步骤就不介绍了, ...

最新文章

  1. linux 内核按键抖动,Tiny4412 Linux驱动之按键(定时器防抖动) | 技术部落
  2. matplotlib 散点图_Python学习 —— matplotlib绘制三维曲线图和三维散点图
  3. 在DataList控件中删除数据记录
  4. 软件工程概论 课堂练习【图书馆系统的类图】
  5. 你真的知道怎么实现一个延迟队列吗 ?
  6. android recovery模式及ROM制作
  7. 华为交换机RRPP配置实验
  8. 设计模式(六)---- 策略模式
  9. 新建linux服务器初始化操作
  10. MySQL做毕设_PHP+MYSQL在线小说阅读网的设计与实现
  11. 陕西省计算机中考模拟试题软件,中学信息技术考试练习系统——陕西省版
  12. 解密“互联网流量”生意本质
  13. VMware16安装MacOS Big Sur系统
  14. ionic3利用ion-multi-picker实现国际区号选择
  15. vue幸运大转盘实现
  16. 什么叫死区时间_死区时间
  17. destoon7.0第三方短信插件下载 destoon7.0整合云信通短信平台教程
  18. Linux ~ 系统管理。
  19. 网络流最大流初步-Push–relabel maximum flow algorithm
  20. 用户来了留不住? 5个方法,帮你提高产品黏性和用户“回头率”

热门文章

  1. 几款好用又强力的数据恢复软件推荐
  2. 联想启动Kind City项目:交互式全球合作鼓励同理心,共创建立于善意之上的未来
  3. sis地址发布器_Go 1.15 正式发布:看看都有哪些值得关注的变化
  4. 一款牛逼的Android端身份证合成工具
  5. 挖没写过的代码记录_holo_springboot
  6. c语言电脑蓝屏代码,电脑蓝屏代码0x0000001a的解决方法
  7. sqlserver2005 安装及SQL 2005 SP3补丁安装详解
  8. 数值计算与计算机应用实例,数值计算的若干应用实例求解4_8.doc
  9. DELL D630 显卡门事件 终于碰上了~
  10. 计算机工控机配置,研华工控机最新配置IPC-610