- 浏览: 467312 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (272)
- java基础 (59)
- struts (8)
- spring (8)
- 数据库 (8)
- java 网络编程 (29)
- hibernate (3)
- JavaScript (10)
- 日志管理 (2)
- jsp (4)
- servlet (7)
- xml (4)
- ajax (2)
- web service (4)
- 算法与数据结构 (13)
- java 反射机制 (11)
- java 泛型 (3)
- java I/O (8)
- java 线程 (12)
- JavaEE (6)
- java解惑 (33)
- 工具 (5)
- MyEclipse编程实践 (1)
- OSGI (2)
- 设计模式 (9)
- 正则表达式 (0)
- EJB (3)
- Ubuntu linux (6)
- Android (1)
- web前端 (2)
- 找工作 (1)
- SCA (1)
- maven (1)
- 缓存 (1)
- json (1)
- javamail (1)
- 工作笔记 (2)
最新评论
-
霜花似雪:
博主可以分享一下源码吗?
使用maven构建web项目实例 -
王庆波-行:
很好的demo!
memcache使用实例 -
surpassno:
大写的牛逼
java可视化显示内存使用情况 -
zhulin0504:
怎么访问NetEcho.html页面呀???
applet与servlet的网络通信 -
springdata:
java多线程实例demo源代码下载:http://www.z ...
java多线程例子
random.netInt()如果括号里加上100,那就是生成0-100(不包括100)的随机数,那么,如果括号里不加参数,那么生成的是多少位数的随机数?是0-10吗?
AA:
从java的源代码里可以看到:
它调用了next(int)方法, 返回的是32位的随机序列值
==========================
Random函数在flash里是很有用的,能够生成基本的随机数,创建随机的移动,连同随机的颜色和其他更多的作用。在下面这个例子中当您每次按下按钮就会显示一个从-100到100的随机数,这个教程将解释如何做出这个例子连同如何利用Random函数产生其他不同的结果。
基本的Random函数如下
Math.random();
能够产生出0-1之间的任意小数
Java实用工具类库中的类java.util.Random提供了产生各种类型随机数的方法。它可以产生int、long、float、double以及Goussian等类型的随机数。这也是它与java.lang.Math中的方法Random()最大的不同之处,后者只产生double型的随机数。
类Random中的方法十分简单,它只有两个构造方法和六个普通方法。
构造方法:
Java产生随机数需要有一个基值seed,在第一种方法中基值缺省,则将系统时间作为seed。
普通方法:
以下是Random类的各种例子测试:
执行结果:
Math.random(): 0.03900179772838652
使用不带参数的构造方法构造的Random对象:
int: -270073819
long: 7255466478054014832
float: 0.4808815
double: 0.6083990998389226
Gaussian: -0.9127617087700918
随机整数序列:-2019302565 -1633933993 -236750885 2020511907 619139053
[0,10)范围内随机整数序列: 3 6 7 1 9 8 4 0 4 8
[5,23)范围内随机整数序列: 8 14 27 14 23 23 23 15 24 11
利用nextFloat()生成[0,99)范围内的随机整数序列: 52 88 93 62 71 66 62 38 72 94
使用带参数的构造方法构造的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
ran2和ran3生成的随机数序列是一样的,如果使用两个没带参数构造函数生成的Random对象, 则不会出现这种情况,这是因为在没带参数构造函数生成的Random对象的种子缺省是当前系统时间的毫秒数。另外,直接使用Random无法避免生成重复的数字,如果需要生成不重复的随机数序列,需要借助数组和集合类
AA:
从java的源代码里可以看到:
/* * @return the next pseudorandom, uniformly distributed {@code int} * value from this random number generator’s sequence */ public int nextInt() { return next(32); }
它调用了next(int)方法, 返回的是32位的随机序列值
==========================
Random函数在flash里是很有用的,能够生成基本的随机数,创建随机的移动,连同随机的颜色和其他更多的作用。在下面这个例子中当您每次按下按钮就会显示一个从-100到100的随机数,这个教程将解释如何做出这个例子连同如何利用Random函数产生其他不同的结果。
基本的Random函数如下
Math.random();
能够产生出0-1之间的任意小数
Java实用工具类库中的类java.util.Random提供了产生各种类型随机数的方法。它可以产生int、long、float、double以及Goussian等类型的随机数。这也是它与java.lang.Math中的方法Random()最大的不同之处,后者只产生double型的随机数。
类Random中的方法十分简单,它只有两个构造方法和六个普通方法。
构造方法:
(1)public Random() (2)public Random(long seed)
Java产生随机数需要有一个基值seed,在第一种方法中基值缺省,则将系统时间作为seed。
普通方法:
(1)public synonronized void setSeed(long seed) 该方法是设定基值seed。 (2)public int nextInt() 该方法是产生一个整型随机数。 (3)public long nextLong() 该方法是产生一个long型随机数。 (4)public float nextFloat() 该方法是产生一个Float型随机数。 (5)public double nextDouble() 该方法是产生一个Double型随机数。 (6)public synchronized double nextGoussian() 该方法是产生一个double型的Goussian随机数。
以下是Random类的各种例子测试:
import java.util.Random; public class RandomNumber { public static void main(String[] args) { // 使用java.lang.Math的random方法生成随机数 0-1 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,28)范围内随机整数序列: "); 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(); } }
执行结果:
Math.random(): 0.03900179772838652
使用不带参数的构造方法构造的Random对象:
int: -270073819
long: 7255466478054014832
float: 0.4808815
double: 0.6083990998389226
Gaussian: -0.9127617087700918
随机整数序列:-2019302565 -1633933993 -236750885 2020511907 619139053
[0,10)范围内随机整数序列: 3 6 7 1 9 8 4 0 4 8
[5,23)范围内随机整数序列: 8 14 27 14 23 23 23 15 24 11
利用nextFloat()生成[0,99)范围内的随机整数序列: 52 88 93 62 71 66 62 38 72 94
使用带参数的构造方法构造的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
ran2和ran3生成的随机数序列是一样的,如果使用两个没带参数构造函数生成的Random对象, 则不会出现这种情况,这是因为在没带参数构造函数生成的Random对象的种子缺省是当前系统时间的毫秒数。另外,直接使用Random无法避免生成重复的数字,如果需要生成不重复的随机数序列,需要借助数组和集合类
发表评论
-
java 内部类详解(转)
2011-06-01 15:47 4964Java 内部类 分四种:成员内部类、局部内部类、静态内部类和 ... -
Fibonacci数列计算+找出出现次数最多字符+不同数字的排列组合
2011-05-26 15:40 20971,斐波拉契数列的计算 package chapter9; ... -
java中的System类中的方法
2011-05-24 11:00 995public final class System exten ... -
java可视化显示内存使用情况
2011-05-20 16:03 2588package memoryManage; /* * ... -
java 界面swing之表格
2011-05-20 13:39 6529package othertest; import ja ... -
java的队列和栈的一些api
2011-05-16 11:31 1694类 Stack<E> java.lang.Obje ... -
JAVA 中一些api(字符字符串缓冲,URL类,Math类方法,正则表达式)
2011-05-12 10:36 1736CharBuffer字符缓冲区, StringBuffer字符 ... -
java applet 一个简单的例子(applet+html)
2011-05-09 16:49 4156java applet是一个类,其层次结构如下图: 类 JAp ... -
java 核心技术(数组(杨辉三角),散列码,对象拷贝,枚举类型,定时器)
2011-05-04 10:43 1560数组java中无多维数组,都是一维数组,多维数组可以看做是数组 ... -
设计模式总结
2011-04-26 16:50 869对于GoF总结的经典的23中设计模式,分为3类: (1)创建型 ... -
猜数字游戏
2011-04-12 17:27 1177package guessNumber; import ... -
Comparator实现排序
2011-04-01 14:13 8649在java.util包中有一个Collections类,里面实 ... -
21天学会java(含电子书下载)
2011-03-15 16:12 253221天学通java 比较基础 第一天 创建简单applicat ... -
理解浮点数存储
2011-03-15 09:44 987整体呈现 二进制浮 ... -
java.lang.UnsatisfiedLinkError解决办法
2011-03-10 16:59 1175实质上就是Eclipse下配置jdk,jre环境的问题 win ... -
java string,stringbuffer区别例子
2011-01-11 14:44 1361public class test_3 { public ... -
java定时器的使用
2011-01-11 09:20 1448有时需要在一定时间段后,执行某一个操作 java中现有的Ti ... -
对象简单克隆clone和引用(转)
2010-12-15 17:02 869对象克隆,返回和原对 ... -
java applet例子---图片像素处理
2010-12-07 17:01 1920package applet; import java. ... -
java applet例子---跟踪图片对象的加载
2010-12-07 16:56 1495用java.awt包中的MediaTracker跟踪一个Ima ...
相关推荐
"100个Java经典例子后端- Java"这个资源显然旨在帮助开发者通过实践加深对Java的理解,尤其在后端开发领域。下面我们将深入探讨这些经典例子可能涵盖的知识点。 1. **基础语法**: 包括变量声明、数据类型(如基本...
"java小例子"可能是指一系列的简单程序,用于演示Java语言的关键特性或常见编程概念。在学习Java时,通过编写和分析小例子是理解语言语法和逻辑的有效方式。 在Java编程中,例子通常会涵盖以下几个方面: 1. **...
这个名为"Java程序例子"的压缩包文件显然包含了帮助初学者或有经验的开发者深入理解Java编程的各种实例。通过这些实例,我们可以学习到如何在实际场景中应用Java语言的关键概念和技术。 1. **基础语法**: 包含的...
Java 编程基础知识点总结 Java 是一种广泛使用的高级编程语言,它提供了强大的功能和灵活的编程模型。本文将对 Java 编程语言的基础知识点进行总结,涵盖 Java 语言的基本概念、数据类型、变量、运算符、控制结构、...
在这个经典的Java继承例子中,我们将深入理解这一机制。 首先,我们要明确的是,继承的主要目的是减少代码冗余,提高代码的可维护性和可扩展性。在Java中,我们使用`extends`关键字来表示一个类继承自另一个类。...
"java100个经典例子"提供了丰富的示例代码,帮助初学者逐步进阶。以下是对几个例子的详细解释: 1. **第一个Java程序**: 这是每个Java初学者都会遇到的第一个Hello World程序,展示了Java程序的基本结构。`public...
在上述例子中,`reportCurrentTime` 方法每隔5秒会被执行一次。`fixedRate` 参数控制了执行间隔。 三、 Quartz 库 对于更复杂的需求,如复杂的调度策略、集群支持等,可以考虑使用Quartz库。Quartz是一个开源的...
这个名为"JAVA入门程序例子"的压缩包提供了初学者学习Java语言的良好资源,涵盖了基础语法、J2SE常用包的运用、Java Swing图形界面设计以及JDBC数据库连接技术。 1. **JAVA语法基础**: - **变量与数据类型**:...
java1200例子百度云 java1200例子百度云 java1200例子百度云
在“company--java小例子”这个压缩包中,我们看到的是一系列针对初学者的Java编程实例。Java是一种广泛使用的面向对象的编程语言,以其跨平台性、稳定性和高效性而受到开发者们的青睐。这个压缩包很可能是为了帮助...
在本Java小例子合集中,我们涵盖了多个关键的编程概念和技术,这些都是在IT行业中至关重要的。以下是这些示例代码所涉及的知识点的详细说明: 1. **AES加密与解密**: AES(Advanced Encryption Standard)是现代...
java java java入门例子 包含说明和注释
让我们通过以下几个实验例子来深入了解Java的基础知识。 例子1展示了Java程序的基本结构。一个简单的"Hello, World!"程序通常被视为入门的第一步。`public class Hello`定义了一个公共类Hello,`main`方法是程序的...
这个名为"Java语言基础例子代码.rar"的压缩包提供了一系列基础Java编程的实例,旨在帮助初学者更好地理解和掌握Java编程的基本概念和操作。这些例子涵盖了数组、数学算法以及字符串处理等核心主题,对于学习Java的...
此外,"damo"标签可能是指这个例子是一个示例代码或模板,帮助初学者快速理解和实践Java Web开发中的注册登录功能。学习此例子时,建议读者理解每一行代码的作用,动手运行并调试,以加深理解。 总之,"java 注册...
这个“kafka java maven例子”是针对初学者的一个很好的起点,旨在帮助理解如何使用Java和Maven来操作Kafka。下面将详细阐述这个实例中涉及的核心知识点。 1. **Apache Kafka**: Kafka是一个高吞吐量、分布式的发布...
这个"上传照片 java例子"提供了一个不依赖任何框架或插件的自定义实现,对于初学者或需要理解基本上传逻辑的开发者来说,非常有价值。下面我们将详细探讨Java中实现照片上传的关键知识点。 首先,理解HTTP协议中的...
标题“c调用java的例子”揭示了我们将讨论一个实际的用C语言调用Java方法的案例。 首先,我们需要理解C和Java之间的接口是如何建立的。Java提供了一个名为Java Native Interface (JNI) 的框架,允许Java代码与本地...
【Flex + Java简单例子】是关于使用Flex与Java进行跨域数据交互的一个基础教程,主要涉及Flex客户端和Java服务器端的配置与开发。这个例子旨在展示如何通过BlazeDS库在Flex前端和Java后端之间建立通信。 首先,我们...