前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Java中在特定区间产生随机数

Java中在特定区间产生随机数

作者头像
昨天50还没用完
发布于 2018-06-29 06:24:26
发布于 2018-06-29 06:24:26
1.8K0
举报
文章被收录于专栏:菜鸟程序员菜鸟程序员

生成指定范围内的随机数

这个是最常用的技术之一。程序员希望通过随机数的方式来处理众多的业务逻辑,测试过程中也希望通过随机数的方式生成包含大量数字的测试用例。问题往往类似于: 如何随机生成 1~100 之间的随机数,取值包含边界值 1 和 100。 或者是: 如何随机生成随机的3位整数? 等等…… 以 Java 语言为例,我们观察其 Random 对象的 nextInt(int) 方法,发现这个方法将生成 0 ~ 参数之间随机取值的整数。例如(假设先有 Random rand = new Random();,下同): rand.nextInt(100); 这行代码将生成范围 0~100 之间的随机数,有趣的是,取值可能为 0 ,但不可能为 100。我们用中学数学课学习的区间表示法,表示为:[0, 100)。 那么如果要获得区间 [1~100] 的随机数,该怎么办呢?稍微动动脑筋就可以想到:区间 [0, 100) 内的整数,实际上就是区间 [0, 99]。因为最大边界为100,可惜不能等于100,因此最大可能产生的“整数”就是99。 既然 rand.nextInt(100) 获得的值是区间 [0, 99],那么在这个区间左右各加 1,就得到了区间 [1, 100]。因此,代码写成: rand.nextInt(100) + 1; 即可。

产生不重复的给定范围随机数:

nums[i] = (int)Math.round((new Random().nextInt(20) + 1));//随机的不同的整数生成

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Java实用类(五) -Math类和指定范围的随机数
(int)(a + Math.random() * b )——>[a,a + b)
化羽羽
2022/10/28
5060
java 唯一随机数_JAVA随机数
①Math.random(): 获取随机小数范围:[0.0,1.0) 返回的值是double类型
全栈程序员站长
2022/09/17
3.1K0
【小家java】Java中Random ThreadLocalRandom 设置随机种子获取随机数精讲
我们都知道,随机数在太多的地方使用了,比如加密、混淆数据等,我们使用随机数是期望获得一个唯一的、不可仿造的数字,以避免产生相同的业务数据造成混乱。 在Java项目中通常是通过Math.random方法和Random类来获得随机数的。那么本文针对于这两种产生随机数的方法进行源码级别的精度,让你以后不再犯错。
YourBatman
2019/09/03
1.9K0
java random函数原理_详解JAVA中Random()函数的用法
有时候,我们会用到随机数。java中自带的Random()函数让我们可以很方便的产生随机数。本文介绍它的一些用法。
全栈程序员站长
2022/08/25
1.7K0
【Java】随机值设置
在Java中设置随机值通常涉及到java.util.Random类或Math.random()方法。
用户11162265
2024/08/05
790
java生成随机数的两种方法
生成(0.1)区间的数字,因此当需要生成更大范围内的数字,需要在返回值的基础上扩大倍数以回去更大的随机值。
lexingsen
2022/02/24
6250
java生成随机数的两种方法
产生随机数算法[通俗易懂]
两个办法帮你解决如何在Java中产生随机数   随机数在日常的应用和开发中经常会见到,比如说某些系统会为用户生成一个最初的初始化密码,这就是一个随机数。如何生成这个随机数,不同的开发工具的方法也不一样。在应用中,Java是应用最为广泛的开发工具之一,如何在Java中产生随机数,也是很多开发者在初学随机数时的一个必修课,在此为读者贡献两个办法帮你解决如何在Java中产生随机数。
全栈程序员站长
2022/09/17
2.1K0
rand(),srand()产生随机数
      rand()函数可以用来产生随机数,但是这不是真真意义上的随机数,是一个伪随机数,是根据一个数,我们可以称它为种子,为基准以某个递推公式推算出来的一系数,当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数,但这不是真正的随机数,当计算机正常开机后,这个种子的值是定了的,除非你破坏了系统,为了改变这个种子的值,C提供了 srand()函数,它的原形是void srand( int a).       初始化随机产生器既rand()函数的初始值,即使把种子的值改成a; 从这你可以看到通过
猿人谷
2018/01/17
3K0
Java中的随机数「建议收藏」
Java产生可以随机数的有两个类,一个是Random类,另一个是Math类中的random()方法。
全栈程序员站长
2022/09/08
1.2K0
Java中的随机数「建议收藏」
Java 随机数
广义上讲,Java中的随机数的有三种产生方式: (01). 通过System.currentTimeMillis()来获取一个当前时间毫秒数的long型数字。 (02). 通过Math.random()返回一个0到1之间的double值。 (03). 通过Random类来产生一个随机数,这个是专业的Random工具类,功能强大。
全栈程序员站长
2022/09/19
1.1K0
c/c++产生随机数
转自:http://blog.csdn.net/beyond0824/article/details/6009908
forrestlin
2022/04/02
1.5K0
Math和Random类常用方法
10、long round(double a) double型的数据a转换为long型(四舍五入)
ha_lydms
2023/08/09
1770
Java 如何从一个 List 中随机获得元素
从一个 List 中随机获得一个元素是有关 List 的一个基本操作,但是这个操作又没有非常明显的实现。
HoneyMoose
2022/04/29
2K0
Java 如何从一个 List 中随机获得元素
随机数算法 java_最全的java随机数生成算法[通俗易懂]
大家好,又见面了,我是你们的朋友全栈君。 最全的java随机数生成算法 java随机数生成算法是怎么样的?下面yjbys小编为大家分享最新最全的java随机数生成算法,希望对大家学习有所帮助! 一个最
全栈程序员站长
2022/09/14
1K0
【Java】深入理解Java随机数
java.lang.Math 类里有一个私有静态内部类,内有一个静态的 java.util.Random 类对象,调用其 nextDouble() 方法,生成 [0.0, 1.0) 范围内的伪随机浮点数。
全栈程序员站长
2022/09/17
1.1K0
进阶 | Java生成随机数的几种高级用法!
言归正传,众所周知,随机数是任何一种编程语言最基本的特征之一。而生成随机数的基本方式也是相同的:产生一个0到1之间的随机数。看似简单,但有时我们也会忽略了一些有趣的功能。 简单用法 最明显的,也是直观的方式,在Java中生成随机数只要简单的调用: java.lang.Math.random() 在所有其他语言中,生成随机数就像是使用Math工具类,如abs, pow, floor, sqrt和其他数学函数。大多数人通过书籍、教程和课程来了解这个类。一个简单的例子:从0.0到1.0之间可以生成一个双精度浮点
Java技术栈
2018/06/04
1.2K0
java生成随机数方法大全(可指定范围、分布方式、类型、种子)
import java.util.Random; /** Java实用工具类库中的类java.util.Random提供了产生各种类型随机数的方法。 它可以产生int、long、float、double以及Goussian等类型的随机数。 java.lang.Math中的方法random()只产生double型的随机数。 */ public class RandomNumber { public static void main(String[] args) { // 使用java.lang.Mat
代码伴一生
2021/09/22
1.9K0
Java中随机数
在Java中主要提供了两种方式产生随机数,分别为调用Math类的random()方法和Random类提供的产生各种数据类型随机数的方法。
全栈程序员站长
2022/09/08
1.2K0
JS - 生成随机数的方法汇总(不同范围、类型的随机数)
因为 random 的特点,要取得这几个区间内的浮点数稍微麻烦些,需要借助一些判断才能满足要求。
ccf19881030
2020/05/18
28.6K0
Python中产生随机数
1.参生n--m范围内的一个随机数:    random.randint(n,m)
用户7886150
2020/12/24
8980
相关推荐
Java实用类(五) -Math类和指定范围的随机数
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文