Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java随机方法是否返回负数?_Java_Random - Fatal编程技术网

Java随机方法是否返回负数?

Java随机方法是否返回负数?,java,random,Java,Random,我想知道,如果我尝试使用以下方法获得一个随机整数,它是否应该返回负值 int value = new Random().nextInt(bound); 否,Random().nextInt(bound)只生成从0到指定数字的正数。如果你想要一个负数,你需要将随机数乘以-1 int number = new Random().nextInt(bound) * -1; 另一方面,Random().nextInt()可以返回负数 如果你需要正面和负面的混合,你可以使用这样的东西: int numb

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

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

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

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

如果你需要正面和负面的混合,你可以使用这样的东西:

int number = new Random().nextInt(bound);
if (number % 2 == 0) {
    number *= -1;
}

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

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

答案在
nextInt
的javadocs的第一行:(和…抛出:IllegalArgumentException-如果绑定为非正)如果您想要一个负数,那么只需简单地对该值求反即可。可能重复,这是否解决了您的问题?请勾选左侧的复选框,将其标记为已解决。谢谢