如何在Java中生成最小值和最大值之间的随机整数?
什么方法返回最小值和最大值之间的随机整数?或者根本不存在这样的方法
我要找的是这样的东西:
NAMEOFMETHOD (min, max)
(其中min和max是int
),返回如下内容:
8
(随机)
如果确实存在这种方法,请将答案链接到相关文档
谢谢
更新
尝试实施完整解决方案时,我收到以下错误消息:
class TestR
{
public static void main (String[]arg)
{
Random random = new Random() ;
int randomNumber = random.nextInt(5) + 2;
System.out.println (randomNumber) ;
}
}
我仍然从编译器中得到相同的错误:
TestR.java:5: cannot find symbol
symbol : class Random
location: class TestR
Random random = new Random() ;
^
TestR.java:5: cannot find symbol
symbol : class Random
location: class TestR
Random random = new Random() ;
^
TestR.java:6: operator + cannot be applied to Random.nextInt,int
int randomNumber = random.nextInt(5) + 2;
^
TestR.java:6: incompatible types
found : <nulltype>
required: int
int randomNumber = random.nextInt(5) + 2;
^
4 errors
这里怎么了
# 1 楼答案
# 2 楼答案
你可以使用Random.nextInt(n)。这将返回[0,n]中的一个随机整数。只需使用max-min+1代替n,并将min添加到答案中,即可得到所需范围内的值
# 3 楼答案
即使您将其称为:
# 4 楼答案
使用Random类是公认答案中建议的方法,但如果您不想创建新的Random对象,这里有一种不那么直截了当的正确方法:
# 5 楼答案
在应用程序启动时构造一个随机对象:
然后使用Random.nextInt(int):
请注意,下限和上限都包含在内
# 6 楼答案
使用Java 7或更高版本,您可以使用
Javadoc:ThreadLocalRandom.nextInt