random中nextint()如何设定最小值

 我来答
mikemelon2012
推荐于2017-09-09 · TA获得超过3633个赞
知道大有可为答主
回答量:938
采纳率:87%
帮助的人:375万
展开全部

nextint()方法这个方法本身没有参数不能设定最小值,其最小值固定是Integer.MIN_VALUE,

这是个常数,值是-2^31,最大值固定是Integer.MAX_VALUE,值是2^32。


还有一个比较方便的方法叫nextInt(int n),产生0(包含)到n(不包含)之[间的数。

你想产生指定范围(a,b]的随机整数,可以自己通过运算实现,公式:

a+new Random().nextInt(b-a)/(b-a)

比如产生[-8,200]之间的整数,也就是(-9, 200]之间的整数:

-9+(new Random().nextInt(209)/209)
山水阿锐
推荐于2017-10-28 · TA获得超过34.3万个赞
知道顶级答主
回答量:23.7万
采纳率:91%
帮助的人:3.1亿
展开全部
您好,如果调用.nextInt(),-MaxValue到MaxValue,.nextInt(n)才是0到n.
下面是JAVA API的原段
nextInt()
Returns the next pseudorandom, uniformly distributed int value from this random number generator's sequence.。因为nextint(n)只能是0到n,此处n必须为正整数,如果为负则报错。
但如果你想它也能生成负数的话,直接int value=-rand.nextInt(30);即可
表示生成的是-30到0的。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
书你一生
2017-10-28 · 读一读好书,品一品故事,走一走人生
书你一生
采纳数:0 获赞数:0

向TA提问 私信TA
引用mikemelon2012的回答:
nextint()方法这个方法本身没有参数不能设定最小值,其最小值固定是Integer.MIN_VALUE,
这是个常数,值是-2^31,最大值固定是Integer.MAX_VALUE,值是2^32。

还有一个比较方便的方法叫nextInt(int n),产生0(包含)到n(不包含)之[间的数。
你想产生指定范围(a,b]的随机整数,可以自己通过运算实现,公式:
a+new Random().nextInt(b-a)/(b-a)比如产生[-8,200]之间的整数,也就是(-9, 200]之间的整数:
-9+(new Random().nextInt(209)/209)
展开全部
Integer.MAX_VALUE 是 2的31次方-1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式