java随机函数使用方法Random
import java.util.Random; public class RandomNumber{ public static void main(String[] args) { // 使用java.lang.Math的random方法生成随机数
System.out.println("Math.random(): " + Math.random()); // 使用不带參数的构造方法构造java.util.Random对象
System.out.println("使用不带參数的构造方法构造的Random对象:");
Random rd1 = new Random();
// 产生各种类型的随机数
// 按均匀分布产生整数
System.out.println("int: " + rd1.nextInt());
// 按均匀分布产生长整数
System.out.println("long: " + rd1.nextLong());
// 按均匀分布产生大于等于0,小于1的float数[0, 1)
System.out.println("float: " + rd1.nextFloat());
// 按均匀分布产生[0, 1)范围的double数
System.out.println("double: " + rd1.nextDouble());
// 按正态分布产生随机数
System.out.println("Gaussian: " + rd1.nextGaussian()); // 生成一系列随机数
System.out.print("随机整数序列:");
for (int i = 0; i < 5; i++) {
System.out.print(rd1.nextInt() + " ");
}
System.out.println(); // 指定随机数产生的范围
System.out.print("[0,10)范围内随机整数序列: ");
for (int i = 0; i < 10; i++) {
// Random的nextInt(int n)方法返回一个[0, n)范围内的随机数
System.out.print(rd1.nextInt(10) + " ");
}
System.out.println();
System.out.print("[5,23)范围内随机整数序列: ");
for (int i = 0; i < 10; i++) {
// 由于nextInt(int n)方法的范围是从0開始的,
// 所以须要把区间[5,28)转换成5 + [0, 23)。
System.out.print(5 + rd1.nextInt(23) + " ");
}
System.out.println();
System.out.print("利用nextFloat()生成[0,99)范围内的随机整数序列: ");
for (int i = 0; i < 10; i++) {
System.out.print((int) (rd1.nextFloat() * 100) + " ");
}
System.out.println();
System.out.println(); // 使用带參数的构造方法构造Random对象
// 构造函数的參数是long类型,是生成随机数的种子。
System.out.println("使用带參数的构造方法构造的Random对象:");
Random ran2 = new Random(10);
// 对于种子同样的Random对象,生成的随机数序列是一样的。
System.out.println("使用种子为10的Random对象生成[0,10)内随机整数序列: ");
for (int i = 0; i < 10; i++) {
System.out.print(ran2.nextInt(10) + " ");
}
System.out.println();
Random ran3 = new Random(10);
System.out.println("使用还有一个种子为10的Random对象生成[0,10)内随机整数序列: ");
for (int i = 0; i < 10; i++) {
System.out.print(ran3.nextInt(10) + " ");
}
System.out.println();
// ran2和ran3生成的随机数序列是一样的,假设使用两个没带參数构造函数生成的Random对象,
// 则不会出现这样的情况,这是由于在没带參数构造函数生成的Random对象的种子缺省是当前系统时间的毫秒数。 // 另外,直接使用Random无法避免生成反复的数字,假设须要生成不反复的随机数序列,须要借助数组和集合类
}
}执行结果:
C:/>java RandomNumber
Math.random(): 0.525171492959965
使用不带參数的构造方法构造的Random对象:
int: 636539740
long: -752663949229005813
float: 0.87349784
double: 0.4065973309853902
Gaussian: 0.4505871918488808
随机整数序列:1936784917 1339857386 -1185229615 1883411721 1409219372
[0,10)范围内随机整数序列: 1 1 5 5 9 0 1 0 2 4
[5,23)范围内随机整数序列: 9 13 26 18 11 27 26 12 21 8
利用nextFloat()生成[0,99)范围内的随机整数序列: 1 47 72 59 49 86 80 88 55 82 使用带參数的构造方法构造的Random对象:
使用种子为10的Random对象生成[0,10)内随机整数序列:
3 0 3 0 6 6 7 8 1 4
使用还有一个种子为10的Random对象生成[0,10)内随机整数序列:
3 0 3 0 6 6 7 8 1 4
java随机函数使用方法Random的更多相关文章
- java随机函数用法Random
原文地址:http://blog.csdn.net/wpjava/article/details/6004492 import java.util.Random; public class Ran ...
- java生成随机数方法
java生成随机数方法: String random = String.valueOf(new Random().nextInt(9000)); String timestamp = String.v ...
- [03]java中的方法以及控制语句
00 Java中的语句块 语句块(有时叫做复合语句),是用花括号扩起的任意数量的简单Java语句.块确定了局部变量的作用域.块中的程序代码,作为一个整体,是要被一起执行的.块可以被嵌套在另一个块中,但 ...
- 比较 Java 静态工厂方法与构造函数
1 什么是静态工厂方法 Java 静态工厂方法是在方法前加上 public static,让这个方法变为公开.静态的方法.该方法返回该类的一个实例,就好像一个工厂生产出一个产品.所以称之为静态工厂方法 ...
- oracle调用JAVA类的方法
导入jar包 在oracle中导入需要的jar包,我们把编辑好的java类打成jar包,直接在oarcle里面写简单的调用就可以了, 1.操作系统需要拥有支持loadjava命令的jdk. 2.加 ...
- Java中的方法应用
一.如何定义java中的方法 所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块. 语法: 1. 访问修饰符:方法允许被访问的权限范围, 可以是 public.protected.priv ...
- Java Runtime.availableProcessors()方法
Java Runtime.availableProcessors()方法用法实例教程. 描述 java.lang.Runtime.availableProcessors() 方法返回到Java虚拟 ...
- paip.java OutOfMemoryError 解决方法o33
paip.java OutOfMemoryError 解决方法o33 java.lang.OutOfMemoryError: Requested # java.lang.OutOfMemoryErro ...
- Java读写文件方法总结
Java读写文件方法总结 Java的读写文件方法在工作中相信有很多的用处的,本人在之前包括现在都在使用Java的读写文件方法来处理数据方面的输入输出,确实很方便.奈何我的记性实在是叫人着急,很多时候既 ...
随机推荐
- unity3d如何快速接入渠道SDK之Unity篇
原文链接: http://bbs.tianya.cn/post-414-53320-1.shtml 首先我们讲一下,为什么要介绍这个插件? 是因为这个插件极大的简化了我对接渠道SDK的工作量,精力和时 ...
- javascript级联菜单,数据从数据库中获取
1.html代码: <%@ page contentType="text/html; charset=gb2312" %> <%@ page import=&qu ...
- CentOS 6.5安装配置Nginx
Ubuntu下安装nginx,直接apt-get install nginx就行了,很方便. 但是今天装了CentOS6.5,直接yum install nginx不行,要先处理下源,下面是安装完整流 ...
- java代码将e.printStackTrace()写入log4j文件异常信息
try { ... } catch (Exception e) { log.error( "failed!", e ); } 或者 try { ... } catch (Excep ...
- easyui 排序实现
1.对easyui datagrid 返回的数据,进行排序处理,便于搜索到我们的有用的信息. 例如: 2.datagrid 需要设置 sortable : true { field : 'crtTi ...
- [PHP] ubuntu16.04配置Lamp环境(搭建linux+apache+mysql+php7环境)
reference : http://blog.csdn.net/Abyss_sliver/article/details/77621404 好久没有在Linux环境下进行开发了,比较常用的还是win ...
- Mysql/MariaDB的多主集群实现:Galera Cluster
Galera Cluster是Codership公司开发的一套免费开源的高可用方案,属于multi-master的集群架构,如图所示: 三个实例,组成了一个集群,而这三个节点与普通的主从架构不同,它们 ...
- Objective-C:NSArray的常见操作
NSArray不可变字符串的主要操作有:创建.枚举.排序.与NSString之间的相互转换 注意: NSArray可以存对象,不可以存基本数据类型.结构体.数组.指针.nil.NULL NSArray ...
- 附1 hystrix详述(1)
一.hystrix的作用 控制被依赖服务的延时和失败 防止在复杂系统中的级联失败 可以进行快速失败(不需要等待)和快速恢复(当依赖服务失效后又恢复正常,其对应的线程池会被清理干净,即剩下的都是未使用的 ...
- jQuery的一个关键函数
jQuery.extend = jQuery.fn.extend = function() { // copy reference to target object var target = argu ...