-
2022-01-18 18:48:24
导包
import java.util.Random;
创建对象
Random r=new Random();
获取随机数
int number = r.nextInt(10); //取值范围[0,10)
应用:随机获取10个随机数
package Learn01; import java.util.Scanner; import java.util.Random; public class Experiences { public static void main(String[] args) { Random r=new Random(); for(int i=0;i<10;i++){ int number =r.nextInt(10);//取值范围为[0,10) System.out.println(number); } } }
更多相关内容 -
Java Random随机数
2022-04-10 17:33:27Random类似Scanner,也是Java提供好的API,内部提供了产生随机数的功能 API后续课程详细讲解,现在可以简单理解为Java已经写好的代码 使用步骤: 导入包 import java.util.Random; 创建对象 Random r = ...Random
1 Random产生随机数
-
概述:
- Random类似Scanner,也是Java提供好的API,内部提供了产生随机数的功能
- API后续课程详细讲解,现在可以简单理解为Java已经写好的代码
- Random类似Scanner,也是Java提供好的API,内部提供了产生随机数的功能
-
使用步骤:
-
导入包
import java.util.Random;
-
创建对象
Random r = new Random();
-
产生随机数
int num = r.nextInt(10);
解释: 10代表的是一个范围,如果括号写10,产生的随机数就是0-9,括号写20,参数的随机数则是0-19
-
-
示例代码:
import java.util.Random; public class RandomTest { /* Random : 产生随机数 1. 导包 : import java.util.Random; 导包的动作必须出现在类定义的上面 2. 创建对象 : Random r = new Random(); 上面这个格式里面,r 是变量名,可以变,其他的都不允许变 3. 获取随机数 : int number = r.nextInt(10); //获取数据的范围:[0,10) 包括0,不包括10 上面这个格式里面,number是变量名,可以变,数字10可以变。其他的都不允许变 需求: 产生随机数1-10之间的 */ public static void main(String[] args){ // 2. 创建对象 Random r = new Random(); for(int i = 1; i <= 10; i++){ // 3. 获取随机数 int num = r.nextInt(10) + 1; // 1-10 System.out.println(num); } } }
2 Random练习-猜数字(应用)
-
代码实现:
程序自动生成一个1-100之间的数字,使用程序实现猜出这个数字是多少?
当猜错的时候根据不同情况给出相应的提示
A. 如果猜的数字比真实数字大,提示你猜的数据大了
B. 如果猜的数字比真实数字小,提示你猜的数据小了
C. 如果猜的数字与真实数字相等,提示恭喜你猜中了
-
示例代码:
import java.util.Scanner; import java.util.Random; public class Test { public static void main(String[] args){ // 1. 准备Random和Scanner对象, 分别用于产生随机数和键盘录入 Random r = new Random(); Scanner sc = new Scanner(System.in); // 2. 使用Random产生一个1-100之间的数, 作为要猜的数 int randomNum = r.nextInt(100) + 1; // 5. 以上内容需要多次进行, 但无法预估用户输入几次可以猜测正确, 使用while(true)死循环包裹 while(true){ // 3. 键盘录入用户猜的的数据 System.out.println("请输入您猜的数据:"); int num = sc.nextInt(); // 4. 使用录入的数据(用户猜的数据)和随机数(要猜的数据)进行比较, 并给出提示 if(num > randomNum){ System.out.println("猜大了"); }else if(num < randomNum){ System.out.println("猜小了"); }else{ // 6. 猜对之后, break结束. System.out.println("恭喜,猜中了"); break; } } System.out.println("感谢您的使用"); } }
-
-
Java中Random随机数
2021-02-12 15:47:56java中一般有两种随机数,一个是Math中random()方法,一个是Random类。一、Math.random()随即生成0<=x<1的小数。实例:如何写,生成随机生成出0~100中的其中一个数呢?Math.random()返回的只是从0到1之间的...java中一般有两种随机数,一个是Math中random()方法,一个是Random类。
一、Math.random()
随即生成0<=x<1的小数。
实例:如何写,生成随机生成出0~100中的其中一个数呢?
Math.random()返回的只是从0到1之间的小数,如果要50到100,就先放大50倍,即0到50之间,这里还是小数,如果要整数,就强制转换int,然后再加上50即为50~100.
最终代码:(int)(Math.random()*50) + 50
二、Random类
Random random = new Random();//默认构造方法
Random random = new Random(1000);//指定种子数字
在进行随机时,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要的随机数字。
相同种子数的Random对象,相同次数生成的随机数字是完全相同的。也就是说,两个种子数相同的Random对象,第一次生成的随机数字完全相同,第二次生成的随机数字也完全相同。
2 、Random类中的常用方法
Random 类中的方法比较简单,每个方法的功能也很容易理解。需要说明的是,Random类中各方法生成的随机数字都是均匀分布的,也就是说区间内部的数字生成的几率是均等的。下面对这些方法做一下基本的介绍:
a 、public boolean nextBoolean()
该方法的作用是生成一个随机的boolean值,生成true和false的值几率相等,也就是都是50%的几率。
b 、public double nextDouble()
该方法的作用是生成一个随机的double值,数值介于[0,1.0)之间,这里中括号代表包含区间端点,小括号代表不包含区间端点,也就是0到1之间的随机小数,包含0而不包含1.0。
c 、public int nextInt()
该方法的作用是生成一个随机的int值,该值介于int的区间,也就是-2的31次方到2的31次方-1之间。
如果需要生成指定区间的int值,则需要进行一定的数学变换,具体可以参看下面的使用示例中的代码。
d 、public int nextInt(int n)
该方法的作用是生成一个随机的int值,该值介于[0,n)的区间,也就是0到n之间的随机int值,包含0而不包含n。
如果想生成指定区间的int值,也需要进行一定的数学变换,具体可以参看下面的使用示例中的代码。
e 、public void setSeed(long seed)
该方法的作用是重新设置Random对象中的种子数。设置完种子数以后的Random对象和相同种子数使用new关键字创建出的Random对象相同。
3 、Random类使用示例
使用Random类,一般是生成指定区间的随机数字,下面就一一介绍如何生成对应区间的随机数字。以下生成随机数的代码均使用以下Random对象r进行生成:
Random r = new Random();
a 、生成[0,1.0)区间的小数
double d1 = r.nextDouble();
直接使用nextDouble方法获得。
b、生成[0,5.0)区间的小数
double d2 = r.nextDouble() * 5;
因为nextDouble方法生成的数字区间是[0,1.0),将该区间扩大5倍即是要求的区间。
同理,生成[0,d)区间的随机小数,d为任意正的小数,则只需要将nextDouble方法的返回值乘以d即可。
c、生成[1,2.5)区间的小数 [n1,n2]
double d3 = r.nextDouble() * 1.5 + 1;【也就是 r.nextDouble() * (n2-n1)+n1】
生成[1,2.5)区间的随机小数,则只需要首先生成[0,1.5)区间的随机数字,然后将生成的随机数区间加1即可。
同理,生成任意非从0开始的小数区间[d1,d2)范围的随机数字(其中d1不等于0),则只需要首先生成[0,d2-d1)区间的随机数字,然后将生成的随机数字区间加上d1即可。
d、生成任意整数
int n1 = r.nextInt();
直接使用nextInt方法即可。
e、生成[0,10)区间的整数
int n2 = r.nextInt(10);
n2 = Math.abs(r.nextInt() % 10);
以上两行代码均可生成[0,10)区间的整数。
第一种实现使用Random类中的nextInt(int n)方法直接实现。
第二种实现中,首先调用nextInt()方法生成一个任意的int数字,该数字和10取余以后生成的数字区间为(-10,10),因为按照数学上的规定余数的绝对值小于除数,然后再对该区间求绝对值,则得到的区间就是[0,10)了。
同理,生成任意[0,n)区间的随机整数,都可以使用如下代码:
int n2 = r.nextInt(n);
n2 = Math.abs(r.nextInt() % n);
f、生成[0,10]区间的整数
int n3 = r.nextInt(11);
n3 = Math.abs(r.nextInt() % 11);
相对于整数区间,[0,10]区间和[0,11)区间等价,所以即生成[0,11)区间的整数。
g、生成[-3,15)区间的整数
int n4 = r.nextInt(18) - 3; 【也就是 r.nextInt() * (n2-n1)+n1】 n1是个负数
n4 = Math.abs(r.nextInt() % 18) - 3;
生成非从0开始区间的随机整数,可以参看上面非从0开始的小数区间实现原理的说明。
-
Java基础语法 (Random随机数)
2022-02-21 15:42:37Random随机数 Random,通过 Random产生随机数,Random类似Scanner,也是Java提供好的API,内部提供了产生随机数的功能 。API后续课程详细讲解,现在可以简单理解为Java已经写好的代码。 使用步骤: 导入包 import ...Java基础语法
Random随机数
Random,通过 Random产生随机数,Random类似Scanner,也是Java提供好的API,内部提供了产生随机数的功能 。API后续课程详细讲解,现在可以简单理解为Java已经写好的代码。
使用步骤:
- 导入包
import java.util.Random;
- 创建对象
Random r = new Random();
- 产生随机数
int num = r.nextInt(10); //10代表的是一个范围,如果括号写10,产生的随机数就是0-9,括号写100,参数的随机数则是0-99
import java.util.Random; public class RandomDemo { public static void main(String[] args) { //创建对象 Random r = new Random(); //用循环获取10个随机数 for(int i=0; i<10; i++) { //获取随机数 int number = r.nextInt(10); System.out.println("number:" + number); } //需求:获取一个1-1000之间的随机数 int x = r.nextInt(1000) + 1; System.out.println(x); } }
Scanner、Random练习-猜数字范例
import java.util.Random; import java.util.Scanner; public class ScannerRandom { //类名:类 ScannerRandom 是公共的, 应在名为 ScannerRandom.java 的文件中声明,类名和.java文件命名一致。 public class ScannerRandom { public static void main(String[] args) { //要完成猜数字的游戏,首先需要有一个要猜的数字,使用随机数生成该数字,范围1到1000 Random r = new Random(); int number = r.nextInt(1000) + 1; while(true) { //使用程序实现猜数字,每次均要输入猜测的数字值,需要使用键盘录入实现 Scanner sc = new Scanner(System.in); System.out.println("请输入你要猜的数字:"); int guessNumber = sc.nextInt(); //比较输入的数字和系统产生的数据,需要使用分支语句。 //这里使用if..else..if..格式,根据不同情况进行猜测结果显示 if(guessNumber > number) { System.out.println("你猜的数字" + guessNumber + "大了"); } else if(guessNumber < number) { System.out.println("你猜的数字" + guessNumber + "小了"); } else { System.out.println("恭喜你猜中了"); break; } } } }
-
java random生成随机数详解
2020-11-25 17:11:40可以使用System.currentTimeMillis(),但这这种方式获取的不能称为严格意义的随机数,虽然他是一直变的,但他不是随机的。表示获取当前系统时间,产生一个当前的毫秒,这个毫秒其实就是自1970年1月1日0时起的毫秒数 ... -
JAVA中的Randomr如何使用?(随机数Random类的用法示例)
2021-03-19 19:13:49Random类主要用来生成随机数,下面列出了他的常用方法和使用案例。 Random类 (java.util) Random类中实现的随机算法是伪随机,也就是有规则的随机。在进行随机时,随机算法的起源数字称为种子数(seed),在种子数... -
java中Random随机数使用
2020-04-26 17:08:15import java.util.Random; 2.创建对象 Random r = new Random(); 3.获取随机数 int number = r.nextInt(10); //获取数据的范围:[0,10)包括0,不包括10 例子:获取1到100之间的随机数 //获取1到100之间的随机数 ... -
java 产生随机数(Random用法)
2020-01-07 10:27:33import java.util.*; public class Yancey77{ public static void main(String[]args){ //产生随机数 Random ran=new Random(); int num=ran.nextInt(100);//产生[0,100)之间的数 int counts=0; System.... -
【java基础】java生成随机数【Random】
2021-12-31 00:22:05Random类似Scanner,也是Java提供好的API,内部提供了产生随机数的功能 使用步骤: 导入包 import java.util.Random; 创建对象 Random r = new Random(); 产生随机数 int num = r.nextInt(10); 解释: 10... -
Java—Random产生随机数
2022-04-26 12:07:18Java——Random产生随机数 -
JAVA 生成随机数的3种方法
2020-12-22 23:53:58Math.random 方法,创建一个double类型的随机数 ThreadLocalRandom class 1) java.util.Random 要使用这个方法,首先要生成一个实例。来调用它的nextInt(),nextDouble(), nextLong() 等等 我们可以使用这个类来生成... -
Java random随机数/ seed 种子 / System.nanoTime() 的理解 与 使用
2021-06-22 14:14:29伪随机(preundorandom):通过算法产生的随机数都是伪随机!! 只有通过真实的随机事件产生的随机数才是真随机!...Random类拥有两个构造方法,用于实现随机数生成器: Random( ) 构造一个随机数生成器,种子是 与nan -
Java获取随机数Random
2021-02-27 20:04:38随机数在实际中使用很广泛,比如要随即生成一个固定长度的字符串、数字。或者随即生成一个不定长度的数字、或者进行一个模拟的随机选择等等。Java提供了最基本的工具,可以帮助开发者来实现这一切。一、Java随机数的... -
JAVA:关于Random产生随机数的用法
2021-09-29 19:27:58int a=random.nextInt(10) //定义一个变量用来接收随机数生成器产生的随机数,这个随机数因为设置了随机变量,所以每次产生的结果是一样的,这个每次的意思是每一次运行,如果用一个含有多个位的数组来接受这个... -
Java random 随机数种子
2016-08-08 11:12:20当“随机数种子”相同的时候,每次调用该函数产生的结果都一样,所以在实际运行环境中,我们应该避免使用相同的随机数种子,常用的方法就是使用System.nanoTime来为作为种子。 -
Java基础之Random随机数.docx
2019-11-21 22:29:05此文档以一个小的实例讲解了java随机数random的使用,在java当中随机数的使用率较高,所以需要熟练掌握随机数的使用 -
(java如何获取随机数)random包的使用
2021-12-31 14:49:26目录Random1 Random产生随机数2 Random练习-猜数字(应用) Random 1 Random产生随机数 使用步骤: 1.导入包 import java.util.Random; 2.创建对象 Random r = new Random(); 3.产生随机数 int num = r.nextInt(10... -
Java生成随机数(利用Random类和Math.random()方法)
2022-05-11 14:57:28Java生成随机数(利用Random类和Math.random()方法) Random 类(java.util.Random) 常用构造方法: Random():该构造方法使用一个和当前系统时间对应的数字作为种子数,然后使用这个种子数构造 Random 对象。 - ... -
Java中随机数Random和Math.random的使用以及猜数字游戏
2022-05-01 20:03:41接下来我们来了解一下Java中随机数的生成与使用 一、Math.random的使用 代码如下(示例): 可以见的Math.random不需要导入包 运行结果如下 可见Math.random产生的随机数大于0小于1.0且由double类型接收 并且... -
java 中的random 随机数
2020-03-02 17:28:36JAVA中提供了几个常用的用于生成随机数(流,JDK 8支持)的API:Random、ThreadLocalRandom、SecureRandom、SplittableRandom;这几个类在使用场景上,稍微有些区分。 一、Random 1、生成伪随机数(流),使用48位... -
java生成随机数的常用方法分析
2020-08-29 02:06:55主要介绍了java生成随机数的常用方法,结合实例形式分析了java生成随机数常用的方法功能与相关使用技巧,需要的朋友可以参考下 -
【Java 8 新特性】Java Random | 获取随机数
2021-09-13 15:45:22Java Random | 获取随机数RandomSecureRandomThreadLocalRandomMath.random()参考文献 本页将通过Java.util.Random实例进行讲解。 Java Random类生成一个伪随机数流。 随机类使用48位(48-bit)种子。 Random的实例是... -
Java Random生成随机数实例
2021-03-08 04:24:53常用 Random类Java Random生成随机数实例使用Random类,一般是生成指定区间的随机数字,下面就一一介绍如何生成对应区间的随机数字。以下生成随机数的代码均使用以下Random对象r进行生成:Random r = new Random();a... -
java中random的用法详解
2022-06-08 02:21:32一、java.lang.Math.random()方法的用法①、方法类型:public static double random();此方法是一个无参,double类型返回值的公开静态方法。返回一个大于0的double类型数据,该值大于等于0.0且小于1.0,返回的是一个... -
Java获取随机数的3种方法
2020-09-01 05:42:54本篇文章主要介绍了Java获取随机数的3种方法,现在分享给大家,也给大家做个参考,感兴趣的小伙伴们可以参考一下。 -
Java基础系列10-Random随机数
2021-08-12 14:48:37java.lang.Math.Random二. java.util.Random参考: 一. java.lang.Math.Random 作用:返回带正号的double值,返回值是一个伪随机选择的数,在该范围内(近似)均匀分布。 范围:[0.0,1.0)的左闭右开区间 原理:Math.... -
Java 中Random类随机数生成器
2022-04-13 19:26:42*随机数生成器Random类 * * public Random()产生一个随机数生成器 * public Random(long seed):创建随机数生成器的同时,给固定时间值 * 它产生的随机数永远是固定的 * 成员方法: * public int nextInt():取值范围... -
Java生成随机数的几种方式:Random,ThreadLocalRandom,SecureRandom与Math.random()
2022-06-26 15:49:42Java生成随机数的几种方式:Random,ThreadLocalRandom,SecureRandom与Math.random() -
java生成随机数方法总结 —— Math类、Random类解析
2021-06-29 14:51:32一、通过Math类 (1)生成大于等于 0.0 且小于 1.0 的 double 值: double a = Math.random(); Math.random()是令系统随机选取大于等于 0.0 且小于 1.0 的伪随机 double 值,...Random类实现的Random使用protected实