java如何生成随机,java生成随机数的两种方式。

java生成随机数有两种方法:

1、使用Math方法,Math.random()随机生成一个double类型[0,1),如果想生成1~100的随机数:

如:int num = (int)(Math.random()*100);

2、使用Random方法生成随机数

 public static void testRandom() {Random random = new Random();random.setSeed(10000L);for(int i = 0 ; i < 10 ; i ++) {System.out.println(random.nextInt(1000));}System.out.println("------------------");random = new Random();random.setSeed(10000L);for(int i = 0 ; i < 10 ; i ++) {System.out.println(random.nextInt(1000));}}

结果如下:

208
572
116
475
500
574
641
166
727
670
------------------
208
572
116
475
500
574
641
166
727
670

3、使用SecureRandom生成随机数,代码如下:

 public static void testSecureRandom() {SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG");secureRandom.setSeed(10000L);for(int i = 0 ; i < 10 ; i ++) {System.out.println(secureRandom.nextInt(1000));}System.out.println("-------------------");secureRandom = new SecureRandom();secureRandom.setSeed(10000L);for(int i = 0; i < 10 ; i ++) {System.out.println(secureRandom.nextInt(1000));}}

结果如下:

851
624
367
62
625
156
930
530
346
260
-------------------
395
65
353
453
275
194
34
227
538
14

4、如何选择使用随机数?

首先我们知道java.util.Random的实例不是加密安全的,SecureRandom来获取加密安全的伪随机数生成器,以供对安全敏感的应用程序使用。以上二三可以很明显的发现,我要是知道setSeed值(即时间戳),很明显能把随机数给猜出来。所以不建议使用Random。

5、一些公司随机数选择的案例

可能某些小公司是让使用Random的,使用Random也可以获取到随机数,但是为了程序的安全性,还是使用SecureRandom比较好。
现在有好多公司,明文禁止使用java.util.Random。

java如何生成随机数相关推荐

  1. java服务器生成随机数_java生成随机数

    java生成随机数 java有三种常用的方式生成随机数: 一.使用Random类 二.使用Math.random方法 三.使用System.currentTimeMillis方法 Random类是最常 ...

  2. java随机生成随机数

    /*** 生成num位随机数** @param length 生成的位数* @return int*/public static int randomNum(int length) {if (leng ...

  3. Java的生成随机数

    开发工具与关键技术: MyEclipse 10.Java语法 作者:邓婵 撰写时间:2019年 08月14日 在开发中产生随机数的使用是很普遍的,在Java中主要提供了两种方式产生随机数,分别为调用M ...

  4. Java Faker 生成随机数

    一.官网 官网 : http://paraseba.github.io/faker/ 二.maven 依赖 <!-- https://mvnrepository.com/artifact/com ...

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

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

  6. 用大气噪声生成Java中的随机数

    在Java中生成随机数时,我们有几个选择.但是,我怀疑在这篇文章中你会学到什么有趣或随意.所以,如果您对如何使用地球的大气噪声在Java中生成真正的随机数感兴趣,请继续阅读- (想自学习编程的小伙伴请 ...

  7. java随机生成不重复的数组_Java生成不重复的随机数组的方法

    一.JAVA中生成随机数的方式 1.在j2se中使用Math.random()令系统随机选取一个01之间的double类型小数,将其乘以一个数,比如25,就能得到一个025范围内的随机数,这个在j2m ...

  8. Java学习之生成随机数

    1.Java中的方法random()可用于生成随机数,称为伪随机数生成器,它返回一个大于等于0.0.小于1.0的数(double类型),即0.0<=X<1.0 .之所以产生的数称为伪随机数 ...

  9. java随机数语句_Java语言程序设计(七)Math类生成随机数及if语句

    Java有几种类型的选择语句,单向if语句,双向if语句,嵌套if语句,switch语句和条件表达式. 1.单向if语句 if(radius>=0){ area = radius*radius* ...

  10. java 随机数生成实现_Java中生成随机数的实现方法总结

    搜索热词 在实际开发工作中经常需要用到随机数.如有些系统中创建用户后会给用户一个随机的初始化密码.这个密码由于是随机的,为此往往只有用户自己知道.他们获取了这个随机密码之后,需要马上去系统中更改.这就 ...

最新文章

  1. oracle 撤销回退,Oracle 回滚(ROLLBACK)和撤销(UNDO)
  2. 帝国Cms7.5开发的博客资讯新闻类微信小程序
  3. python搭建django
  4. 最渣的 Spring Boot 文章
  5. Sybase函数大全
  6. [BZOJ 4916]神犇和蒟蒻
  7. 获取当天日期、昨天日期
  8. 【Matplotlib】【Python】如何使用matplotlib自动保存图表
  9. vue slot插槽_Vue之路 | 08vue插槽slot使用
  10. [2018.08.02 T1] 第一题
  11. 【计算机组成与设计:硬件/软件接口】第三章:计算机的算术运算
  12. Android逆向:某鹰直播Lua脚本解密
  13. c++实数运算和整数运算。
  14. Handler的理解、用法以及运行机制原理
  15. 转载1:拓扑结构介绍及其种类
  16. 关于【野火】OV7725例程移植【OV7670】总结
  17. Clearing orphaned inode
  18. 【FAQ】接入HMS Core推送服务过程中一些常见问题总结
  19. 嗖的一下第二弹,这些好看的皮肤直接一键收下~~
  20. uni-app知识点整理

热门文章

  1. c语言ascii码16进制,C语言附录ASCII码表.doc
  2. 项目验收文档模板(四)
  3. 天思 erp win7安装提示服务器上没有文件信息,关于天思ERP 9.2客户端无法安装的问题...
  4. Python+Tensorflow+CNN实现车牌识别
  5. C语言数字雨--90行代码
  6. 激光slam理论与实践
  7. 如何将Python程序打包成linux可执行文件
  8. Ansys Zemax / Ansys Speos | 如何使用Ansys光学解决方案设计和分析 HUD系统
  9. 东芝2000ac废粉盒怎么二次利用_阜新降级组件回收厂家,废太阳能板回收_振昌_光伏...
  10. OpenCV阈值分割