java生成随机数的代码_java随机数代码的三种生成方式怎么编写?
随机是某些项目中特有的色彩,如抽奖什么的,本文我们就来了解下java中的随机数代码生成方式。
三种生成方式示例,如下:import java.util.Random;
import java.lang.Math;
/**
* java 的随机数测试程序。共3种获取随机数的方法:
* (01)、通过System.currentTimeMillis()来获取一个当前时间毫秒数的long型数字。
* (02)、通过Math.random()返回一个0到1之间的double值。
* (03)、通过Random类来产生一个随机数,这个是专业的Random工具类,功能强大。
*
* @author skywang
* @email kuiwu-wang@163.com
*/
public class RandomTest
{
public static void main(String args[])
{
// 通过System的currentTimeMillis()返回随机数
testSystemTimeMillis();
// 通过Math的random()返回随机数
testMathRandom();
// 新建“种子为1000”的Random对象,并通过该种子去测试Random的API
testRandomAPIs(new Random(1000), " 1st Random(1000)");
testRandomAPIs(new Random(1000), " 2nd Random(1000)");
// 新建“默认种子”的Random对象,并通过该种子去测试Random的API
testRandomAPIs(new Random(), " 1st Random()");
testRandomAPIs(new Random(), " 2nd Random()");
}
/**
* 返回随机数-01:测试System的currentTimeMillis()
*/
private static void testSystemTimeMillis()
{
// 通过
final long l = System.currentTimeMillis();
// 通过l获取一个[0, 100)之间的整数
final int i = (int)(l % 100);
System.out.printf("\n---- System.currentTimeMillis() ----\n l=%s i=%s\n", l, i);
}
/**
* 返回随机数-02:测试Math的random()
*/
private static void testMathRandom()
{
// 通过Math的random()函数返回一个double类型随机数,范围[0.0, 1.0)
final double d = Math.random();
// 通过d获取一个[0, 100)之间的整数
final int i = (int)(d * 100);
System.out.printf("\n---- Math.random() ----\n d=%s i=%s\n", d, i);
}
/**
* 返回随机数-03:测试Random的API
*/
private static void testRandomAPIs(Random random, String title)
{
final int BUFFER_LEN = 5;
// 获取随机的boolean值
boolean b = random.nextBoolean();
// 获取随机的数组buf[]
byte[] buf = new byte[BUFFER_LEN];
random.nextBytes(buf);
// 获取随机的Double值,范围[0.0, 1.0)
double d = random.nextDouble();
// 获取随机的float值,范围[0.0, 1.0)
float f = random.nextFloat();
// 获取随机的int值
int i1 = random.nextInt();
// 获取随机的[0,100)之间的int值
int i2 = random.nextInt(100);
// 获取随机的高斯分布的double值
double g = random.nextGaussian();
// 获取随机的long值
long l = random.nextLong();
System.out.printf("\n---- %s ----\nb=%s, d=%s, f=%s, i1=%s, i2=%s, g=%s, l=%s, buf=["
, title, b, d, f, i1, i2, g, l);
for (byte bt: buf)
System.out.printf("%s, ", bt);
System.out.println("]");
}
}
以上就是本篇文章的所有内容,更多随机数常见问题请关注我们了解具体。
推荐阅读:
java生成随机数的代码_java随机数代码的三种生成方式怎么编写?相关推荐
- java定时执行某个方法_Java中定时执行任务的三种方法
Java中定时执行任务的三种方法 1)java.util.Timer 这个方法应该是最常用的,不过这个方法需要手工启动你的任务: Timer timer=new Timer(); timer.sche ...
- java时间戳是什么类型_java 获取时间戳的三种方式
java 获取时间戳的三种方式 CreationTime--2018年7月13日16点29分 Author:Marydon 1.实现方式 方式一:推荐使用 System.currentTimeMill ...
- java的字符串截取函数_java 字符串截取的三种方法(推荐)|chu
众所周知,java提供了很多字符串截取的方式.下面就来看看大致有几种. 1.split()+正则表达式来进行截取. 将正则传入split().返回的是一个字符串数组类型.不过通过这种方式截取会有很大的 ...
- java的队列实现方法_Java实现队列的三种方法集合
数组实现队列 //数组实现队列 class queue{ int[] a = new int[5]; int i = 0; //入队操作 public void in(int m) { a[i++] ...
- java多线程的实现方式_JAVA多线程实现的三种方式
最近在做代码优化时学习和研究了下JAVA多线程的使用,看了菜鸟们的见解后做了下总结. 1.JAVA多线程实现方式 JAVA多线程实现方式主要有三种:继承Thread类.实现Runnable接口.使用E ...
- java 创建5个线程_Java创建线程的三种方式
1.继承Thread 类,创建线程类 ,调用start方法启动 (单一继承 ) public class Test1 extendsThread { @Overridepublic voidrun( ...
- Java书签 #用Java生成指定位数不重复随机数
楔子:或许我一次恋爱都不曾体验就老了.我可能无法和任何人恋爱.我可能一辈子都不会知道恋爱是什么.虽然我的大脑知道念念不忘某个人并为他哭泣.痛苦的感觉,比什么都不知道的要好,可是我的大脑并没有教我如何才 ...
- java 生成印章源码_java代码生成指定的公章和私章,并且解决服务器不能回显文字的问题...
因项目需求所需,需要用java根据字段生成公章,在这里特别感谢大佬们贡献的代码,由衷的表示感谢,我充分发挥了搬砖的作用,因为在中间遇到了服务器上没有字的问题,故写下次文章,作为记录,希望能帮助到童鞋们 ...
- java解析遍历List集合(其实现子类)的三种方式
java解析遍历List集合(其实现子类)的三种方式 1 使用迭代器对象 1.1 底层 1.1.1 List接口继承了Collection接口 1.1.2 而Collection接口又继承了Itera ...
- java生成永远不重复的随机数_java生成不重复随机数的方法
java生成不重复随机数的方法 发布时间:2020-07-01 11:00:00 来源:亿速云 阅读:225 作者:Leah java怎么实现生成不重复随机数 ?针对这个问题,这篇文章详细介绍了相对应 ...
最新文章
- JMC | 人工智能在药物合成中的当前和未来作用(1)
- 虚拟现实大会ChinaVR2015报告之-数据可视化的挑战与机遇
- AVL树平衡旋转详解
- tornado数据库迁移
- 【caffe-Windows】关于LSTM的使用-coco数据集
- ubuntu,kali linux和windows三系统流水账——写给自己
- 立创EDA学习3-绘制pcb(初级)
- 2年200店!Tims咖啡强势扩张的底气在哪里?
- Flutter 新一代图形渲染器 Impeller
- 2.* 版本taro引入 taro-ui编译小程序阶段报错, Module not found: Can‘t resolve ‘./style/index.scss‘
- 聊聊新加坡的工作和生活
- Python——定义全局变量
- 关于fuse的常用启动参数
- 最优化:一维搜索的Wolfe条件与Goldstein条件
- python可以自动拆分表格吗_Python最详细的Excel操作方式,你值得拥有!
- bulid.prop优化代码(好像很强?)
- Intel 3945ABG用OmniPeek 4.1抓包破解WEP
- 线性代数中两个向量相乘_加两个向量| Python的线性代数
- 进阶的阿牛哥之用python向多人发送邮件(带附件)、遍历邮件获取内容(两种方法:imbox、imaplib)
- 含spike-in的单细胞分析
热门文章
- Php与Mysql关系揭秘
- 百度要革自己的命?移动搜索或取消PC网页收录
- Sicily 1049. Mondriaan 解题报告
- 准备系统地学习一下Python
- 机器人 知乎碧桂园_杨国强森林城市与机器人跃进后的“梦醒时分”
- odoo13 订单模板设置_ERP输出嵌入公章的采购订单电子档,其实真的不难
- js休眠5秒_JS 之秒开方案大全
- 如何在js中实现html语言,如何使用脚本标签将JavaScript插入HTML
- windows系统服务优化终结者_邮件服务器如何从Windows系统切换到Linux系统
- php把字符串改成utf8,PHP将字符串改成UTF8的方法