Java SE学问Random
这篇文章是在网络上的文章内容摘要学习以及自己的小练习,感谢您的无私分享。
昨天在项目中想使用几个随机数。结果使用Random时竟然出现随机数同样的情况。忍不住查了些资料。
现将代码总结例如以下:
package SE;
import java.util.Random;
public class RandomUnit {
/**
*
* <p>
* 无种子參数的构造方法使用一个和当前系统时间相应的相对时间有关的数字作为种子数。
* 然后使用这个种子数构造Random对象。
* </p>
* @author zhangjunshuai
* @date 2014-10-28 上午11:07:53
*/
static void randomNull(){
for (int i = 0; i < 100; i++) {
Random r = new Random();
System.out.println("无种子參数:"+r.nextInt());
}
}
/**
* <p>
* 在种子參数是同一个数字的时候。出现仅仅有一个随机数的情况
* </p>
* @author zhangjunshuai
* @date 2014-10-28 上午11:18:17
*/
static void randomHave(){
for (int i = 0; i < 100; i++) {
Random r = new Random(37);
System.out.println("有种子參数:"+r.nextInt());
}
}
/**
*
* <p>
* 注意random调用方法的顺序变化之后,产生的随机值才会变
* </p>
* @author zhangjunshuai
* @date 2014-10-27 下午6:54:17
*/
static void random(){
Random r = new Random(47);
System.out.println(r.nextInt());
System.out.println(r.nextBoolean());
Random w= new Random(47);
System.out.println(w.nextInt());
System.out.println(w.nextBoolean());
Random h= new Random(47);
System.out.println(h.nextFloat());
System.out.println(h.nextInt());
System.out.println(h.nextBoolean());
}
/**
*
* <p>
* 利用setSeed方法实现伪随机数
* </p>
* @author zhangjunshuai
* @date 2014-10-28 上午11:29:02
*/
static void setSeed(){
Random r = new Random();
for (int i = 0; i < 100; i++) {
System.out.println("有种子參数:"+r.nextInt(270));
r.setSeed((long)r.nextLong());
}
}
/**
* <p>
* </p>
* @author zhangjunshuai
* @date 2014-10-28 上午10:56:48
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//randomNull();
//randomHave();
//random();
setSeed();
}
}
參考:
http://lehsyh.iteye.com/blog/646658
版权声明:本文博主原创文章,博客,未经同意不得转载。
Java SE学问Random的更多相关文章
- Java SE教程
第0讲 开山篇 读前介绍:本文中如下文本格式是超链接,可以点击跳转 >>超链接<< 我的学习目标:基础要坚如磐石 代码要十份规范 笔记要认真详实 一.java内容介绍 ...
- Java SE —— 专栏总集篇
前言: Java 语言,是相对于其他语言而言,门槛低,而且功能还强大的一门编程语言,本人十分看好这一门语言,但是,它也是有深度的,看过本人的<数据结构与算法>专栏的同学们有福了,因为本人在 ...
- Java SE 8 新增特性
Java SE 8 新增特性 作者:Grey 原文地址: Java SE 8 新增特性 源码 源仓库: Github:java_new_features 镜像仓库: GitCode:java_new_ ...
- Java SE 12 新增特性
Java SE 12 新增特性 作者:Grey 原文地址:Java SE 12 新增特性 源码 源仓库: Github:java_new_features 镜像仓库: GitCode:java_new ...
- Java SE 17 新增特性
Java SE 17 新增特性 作者:Grey 原文地址:Java SE 17 新增特性 源码 源仓库: Github:java_new_features 镜像仓库: GitCode:java_new ...
- Using Headless Mode in the Java SE Platform--转
原文地址: By Artem Ananiev and Alla Redko, June 2006 Articles Index This article explains how to use ...
- Mac下打开eclipse 始终提示 你需要安装Java SE 6 Runtime
Mac下打开eclipse 始终提示 你需要安装Java SE 6 Runtime 周银辉 我的mac os 版本是10.9.2, JDK配置得好好的,但打开eclipse时还是提示需 ...
- mac下需要安装旧 Java SE 6 才能打开程序解决办法
今天我在mac系统下面安装myeclipse2014(myeclipse-pro-2014-GA-offline-installer-macosx.dmg)的时候,发现显示错误: 您需要安装旧 Jav ...
- ubuntu配置 Java SE 1.6
今天编译android 4.0时提示如下错误: You are attempting to build with the incorrect version of java. Your versi ...
随机推荐
- 洛谷—— P1765 手机_NOI导刊2010普及(10)
https://www.luogu.org/problem/show?pid=1765#sub 题目描述 一般的手机的键盘是这样的: 1 2 abc 3 def 4 ghi 5 jkl 6 mno 7 ...
- NPF
NPF是一个协议驱动.从性能方面来看,这不是最好的选择,但是它合理地独立于MAC层并且有权使用原始通信 (raw traffic).NPF是Winpcap的核心部分,它是Winpcap完成困难工作的组 ...
- 内存问题检查利器——Purify
内存问题检查利器——Purify 一. 引言 我们都知道软件的测试(在以产品为主的软件公司中叫做QA—Quality Assessment)占了整个软件工程的30% -50%,但有 ...
- OC学习篇之---文件的操作
今天我们来介绍OC中文件操作,在之前的文章中,已经接触到了文件的创建了,但是那不是很具体和详细,这篇文章我们就来仔细看一下OC中是如何操作文件的: 第一.首先来看一下本身NSString类给我们提供了 ...
- VS无法访问IIS元数据库 您没有足够的特权访问计算机上的IIS网站
进入windows\regedit.exe下的HKEY_CRRENT_USER\Software\Microsoft\Windows\CurrentVersion\Exploer\User Shell ...
- shell脚本一键安装mysql5.7.x
使用脚本一键安装mysql5.7.x,初始化数据库.启动数据库---- mysql版本号:源代码mysql5.7.10 linux版本号:centos6.5 x86_64 #!/bin/bash GR ...
- 关于db2的一点记录
近期听搞db2的兄弟说:db2数据库软件的license 不区分平台(os). 先记下来.像db2这么高大上的软件,接触的机会是比較少的. 另外:db2 的license是须要打的,不打的话,超过一段 ...
- Cocos2d-X开发中国象棋《八》走棋
在上一节中实现了新局,至此中国象棋的准备工作差点儿相同都完毕了,在接下来的博客中将介绍玩家的走棋和一些游戏属性的设置,今天先介绍走棋和走棋规则 老规则,先看走棋的效果图,然后依据效果图一步一步分析游戏 ...
- JAVA日志库2
一.常用日志Jar关系 2015第30周四Java日志组件 接口:将所有日志实现适配到了一起,用统一的接口调用. 实现:目前主流的日志实现 旧日志到slf4j的适配器:如果使用了slf4j,但是只想用 ...
- stm32的timer