Random类是用于生成随机数的。但是该类的随机算法实际上是伪随机。即相同种子、相同次数生成的随机数是一样的。
首先看Random的两个构造方法
public Random()//默认使用当前时间对应的种子
public Random(long seed)//自定义种子
注意种子只是让里面定义的随机算法从种子开始计算。即随机算法的起源数字,和生成的区间没有任何关系。
再看Random类中的常用几个方法
public boolean nextBoolean()//true和false的生成概率各为50%
public double nextDouble()//生成0到1.0之间的随机数
public int nextInt()//生产-2的31次幂到2的31次幂-1的随机数
public int nextInt(int n)//生成0到n之间的随机数
public void setSeed(long seed)//设置Random类的种类
使用实例
1.生成[0-1.0]之间的随机数
答:random.nextDouble() //nextDouble默认生成0到1.0之间的随机数
2.生成[0-7.0]之间的随机数
答:random.nextDouble()*7 //即[0-1.0]乘以7即可
3.生成[1.0-7.0]之间的随机数
答:random.nextDouble()*6+1.0 //先生成0到7.0-1.0之间的随机数,然后+1.0
总结:生成[0,d)区间的随机小数,d为任意正的小数,则只需要将nextDouble方法的返回值乘以d即可
生成任意非从0开始的小数区间[d1,d2)范围的随机数字(其中d1不等于0),则只需要首先生成[0,d2-d1)区间的随机数字,然后将生成的随机数字区间加上d1即可
4.生成任意的整数
答:random.nextInt() //生成的范围是-2的31次幂到2的31次幂-1之间的数
5.生成[0-25]之间的整数
答:random.nextInt(25)//生成指定int类型,通过指定范围值即可,但是是从0开始的
答:Math.abs(random.nextInt()%25)//这是另外一种写法,即先生成-25到25之间的整数,然后再取绝对值即可。
6.生成[2-25]之间的整数
答:random.nextInt(23)+2 //先生成0-23(d2-d1)之间的整数,然后再+d1
答:Math.abs(random.nextInt()%23+2) //另外一种写法
注意random.nextInt(100)会生成0-100之间的随机数,但是不包括100,因此0到99每个数字被生成出来的概率都是1.
注意2 Math.random()类,该类实际上是调用Random类的nextDouble()方法生成随机数的,因此返回数字的范围是0-1.0
分享到:
相关推荐
在Java编程语言中,`Scanner类`、`Random类`和`ArrayList类`是三个非常重要的基础组件,它们各自在不同的场景下发挥着关键作用。接下来,我们将详细探讨这三个类的功能、用法以及它们在实际编程中的应用。 首先,...
031108_【第11章:Java常用类库】_Math与Random类笔记
对于Java中Random类的有关问题做下的思维导图,便于深化记忆,希望对你有帮助!注意:文件为.mm后缀建议下载freemind打开,免费的思维导图软件!
Java8中的java.util.Random类 文章代码,不多解释啦,不需要你安装其它的jar包。
Java中Random类 Java中Random类提供了产生多种形式随机数的功能。使用Random类,可以轻而易举地产生所需的所有形式的随机数,十分方便。在程序设计中,需要大量的不同形式的随机数,使用Math类的random()方法还必须...
今天我们学习了Java中的三个重要类:Scanner类、Random类和ArrayList类。这些类都是Java中的基础类,掌握它们是学习Java的基础。 首先,让我们了解什么是API。API(Application Programming Interface)是应用程序...
介绍一下Random类的使用,以及如何生成指定区间的随机数组以及实现程序中要求的几率
在本节内容中,我们将介绍Java编程语言中三个重要的类:Scanner类、Random类和ArrayList类。这三个类分别用于处理输入数据、生成随机数以及数据集合存储。在学习这些类的过程中,我们还将探讨如何通过Java的API文档...
掌握String类和StringBuffer类的使用 了解System类、Runtime类、Math类和Random类的使用 熟悉包装类的使用
### Java软件开发实战:Random类和Math类 在Java编程中,`Random`类和`Math`类是非常实用且常用的工具类,它们提供了生成随机数和执行数学运算的方法。本篇将详细介绍这两个类的主要功能及其应用场景。 #### 1. `...
本章主要讲解了Java中的流程控制语句,包括IF语句、switch语句以及for和while循环,还有Random类的使用。 1. **流程控制基本概念**: 流程控制语句是用来控制程序执行流程的,使得程序可以根据条件或循环执行特定...
在这个项目中,我们将会探讨如何利用C#中的控件,如Panel、GroupBox、TabControl,以及Point和Random类来实现这个游戏的界面和功能。 1. **Panel控件**:在C# Windows Forms应用程序中,Panel是一种容器控件,可以...
本文将深入探讨一个名为`CRandom`的类,它被封装用来简化和增强C++中的随机数生成功能。这个类允许开发者轻松地生成指定范围内的随机整数、浮点数以及布尔值,提高了代码的可读性和复用性。 `CRandom`类的核心在于...
day07【Scanner类、Random类、ArrayList类】.md
NULL 博文链接:https://chaoyi.iteye.com/blog/2082321
在Java中,Random类提供了产生随机数的方法,下面将详细介绍Random类的使用。 Random类的使用 Random类是Java中生成随机数的主要类,它提供了多种方法来生成随机数。下面是Random类的一些常用方法: * `nextInt()...
Java中的`Random`类是`java.util`包下的一个核心类,主要用于生成各种类型的伪随机数。这个类在很多场景下都有广泛的应用,比如在模拟、测试、游戏开发以及密码学等领域。`Random`类生成的随机数是通过特定算法得到...
1. 使用默认种子:默认情况下,`Random`类使用系统当前时间作为种子,这样可以保证每次运行时的随机数序列不完全相同。 2. 显示传入种子:可以通过传递一个`long`类型的整数作为种子来创建`Random`对象,从而可以...