Java Random 方法返回负数吗?

我想知道,如果我尝试使用以下方法获取随机整数,它是否应该返回负值?

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


慕莱坞森
浏览 306回答 3
3回答

墨色风雨

否,Random().nextInt(bound)仅生成从 0 到您指定的数字的正数。如果你想要一个负数,你需要将随机数乘以-1。int number = new Random().nextInt(bound) * -1;Random().nextInt()另一方面可以返回负数。

白猪掌柜的

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

杨__羊羊

如果您需要积极和消极的混合,您可以使用如下内容:int number = new Random().nextInt(bound);if (number % 2 == 0) {    number *= -1;}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java