我想知道,如果我尝试使用以下方法获取随机整数,它是否应该返回负值?int value = new Random().nextInt(bound);
3 回答

墨色风雨
TA贡献1853条经验 获得超6个赞
否,Random().nextInt(bound)
仅生成从 0 到您指定的数字的正数。如果你想要一个负数,你需要将随机数乘以-1。
int number = new Random().nextInt(bound) * -1;
Random().nextInt()
另一方面可以返回负数。

白猪掌柜的
TA贡献1893条经验 获得超10个赞
如果您使用 java.util 包中的 Random 类,您应该提及您期望的数字类型,同时设置上限。您的答案将是从 0 到小于上限的任意值。Random 类中的 nextInt() 返回从 0 到参数 1 的整数值。类似地,我们可以使用 nextDouble 和 nextLong() 等方法。返回的值始终为正值或零。现在,如果您需要负值,我们可以随机设置负数计数器。比如说,随机生成另一个整数值并检查它是奇数/偶数以否定该数字。
另一种方法是使用 Math.random() 方法。此方法返回一个等于或大于 0 且小于 1 的数字。我们可以对整数随机值使用类型转换,否则默认情况下我们会得到双精度值。PS 查看oracle文档以更好地理解这些类和方法。

杨__羊羊
TA贡献1943条经验 获得超7个赞
如果您需要积极和消极的混合,您可以使用如下内容:
int number = new Random().nextInt(bound);
if (number % 2 == 0) {
number *= -1;
}
添加回答
举报
0/150
提交
取消