为了账号安全,请及时绑定邮箱和手机立即绑定

Java Random 方法返回负数吗?

Java Random 方法返回负数吗?

慕莱坞森 2023-09-20 16:58:55
我想知道,如果我尝试使用以下方法获取随机整数,它是否应该返回负值?int value = new Random().nextInt(bound);
查看完整描述

3 回答

?
墨色风雨

TA贡献1853条经验 获得超6个赞

否,Random().nextInt(bound)仅生成从 0 到您指定的数字的正数。如果你想要一个负数,你需要将随机数乘以-1。

int number = new Random().nextInt(bound) * -1;

Random().nextInt()另一方面可以返回负数。


查看完整回答
反对 回复 2023-09-20
?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

如果您使用 java.util 包中的 Random 类,您应该提及您期望的数字类型,同时设置上限。您的答案将是从 0 到小于上限的任意值。Random 类中的 nextInt() 返回从 0 到参数 1 的整数值。类似地,我们可以使用 nextDouble 和 nextLong() 等方法。返回的值始终为正值或零。现在,如果您需要负值,我们可以随机设置负数计数器。比如说,随机生成另一个整数值并检查它是奇数/偶数以否定该数字。

另一种方法是使用 Math.random() 方法。此方法返回一个等于或大于 0 且小于 1 的数字。我们可以对整数随机值使用类型转换,否则默认情况下我们会得到双精度值。PS 查看oracle文档以更好地理解这些类和方法。


查看完整回答
反对 回复 2023-09-20
?
杨__羊羊

TA贡献1943条经验 获得超7个赞

如果您需要积极和消极的混合,您可以使用如下内容:


int number = new Random().nextInt(bound);

if (number % 2 == 0) {

    number *= -1;

}


查看完整回答
反对 回复 2023-09-20
  • 3 回答
  • 0 关注
  • 305 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信