首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >包含性和排他性的区别?

包含性和排他性的区别?
EN

Stack Overflow用户
提问于 2016-04-03 04:26:06
回答 2查看 15.2K关注 0票数 2

我觉得这是一个简单的概念,但我在包含性和排他性方面遇到了麻烦:特别是关于随机数生成器。

例如,如果我想要一个2-8 (包括2和8)的值,那就包含在内了,对吗?

这段代码会是什么样子呢?例如: nextInt(8 - 2) + 2;?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-03 04:31:43

例如,如果我想要一个2-8 (包括2和8)的值,那就包括在内了,对吗?

是,。包含性包含;排除性排除

包含2-8的范围是7个唯一值(2,3,4,5,6,7,8);Random.nextInt(int) 排除指定的值。所以你想要这样的东西

代码语言:javascript
复制
Random rand = new Random();
int min = 2;
int max = 8;
// ...
int r = rand.nextInt((max - min) + 1) + min;
票数 3
EN

Stack Overflow用户

发布于 2016-04-03 04:31:25

包含表示它包含数字。排他性意味着它不会。Random.nextInt(limit)包含0,不包含限制。该方法允许使用例如随机数中的数组的大小:

代码语言:javascript
复制
int[] arr = new int[6];  //size will be 6
Random rnd = new Random();
int i = arr[rnd.nextInt(arr.length));  //will return between [0] and [5]

对于介于2和8之间的值,您知道.nextInt(limit)将返回介于0和limit之间的值,因此.nextInt(7) + 2将给出一个介于0(含)和7(不含,即6)之间的随机数。加法+2将介于2和8之间(包括两者),因为它将介于(0 + 2)和(6 + 2)之间。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36378316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档