Chapter03 Random类
Posted cmdzhizhu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Chapter03 Random类相关的知识,希望对你有一定的参考价值。
1.api
RandomDemo
package Chapter03_Random; /** * @author cmdzhizhu */ /** java中已经有的引用类型 Random类,作用,产生随机数 步骤: 1. 导入包, Random类,也在java.util文件夹 2. 公式: 创建出Random类型的变量 3. 变量. 调用Random类中的功能,产生随机数 Random类,提供功能 , 名字 nextInt() 产生一个随机数, 结果是int类型 出现随机数的范围, 在功能nextInt(写一个整数), 整数: 随机出来的范围 随机数的范围在 0 - 指定的整数之间的随机数 nextInt(100) 0-99 产生浮点的随机数: 功能名字 nextDouble() 随机数的范围 0.0-1.0 随机数: 伪随机数, 虚拟机根据人写好的一个算法,生成出来的 */ import java.util.Random; public class RandomDemo{ public static void main(String[] args){ // 2. 公式: 创建出Random类型的变量 Random ran = new Random(); // 3. 变量. 调用Random类中的功能,产生随机数 // Random类中的,产生随机数的功能 int i = ran.nextInt(100); System.out.println(i); //问题? 产生随机数,范围 1-100之间 // nextInt(100) 0-99 + 1 double d = ran.nextDouble(); System.out.println(d); boolean b = ran.nextBoolean(); System.out.println(b); ran.setSeed(123L); } }
运行结果
*java中Random是伪随机,有时候随机数会相同,如果想让生成的随机数更加无法预测,可以用Random.setseed()设置随机数种子,使随机数更加随机。
*这个设置只能一次有效,后续如果还要生成随机数则不会影响。
*Random如果使用相同的seed值,则每次生成的随即数都相同,如果不设置这个值,则系统根据时间来自己选择这个值,此时每次生成的随机数因时间差异而不同。
当然,如果在Random构造方法中传入LONG值和setSeed()一样效果。
RandomSetseedDemo
package Chapter03_Random; import java.util.Random; /** * @author cmdzhizhu @date 2020/5/1 18:45 */ public class RandomSetseedDemo { public static void main(String[] args) throws Exception { //设置这个值 每次运行生成的数字都相同 也可以在构造方法里赋值 Random random1 = new Random(); random1.setSeed(100L); for (int j = 0; j < 5; j++) { System.out.print(" " + random1.nextInt(100) + ", "); } System.out.println(); System.out.println("===================================="); Random random2 = new Random(100L); for (int j = 0; j < 5; j++) { System.out.print(" " + random2.nextInt(100) + ", "); } } }
运行结果
以上是关于Chapter03 Random类的主要内容,如果未能解决你的问题,请参考以下文章