如何在Java中的min和max之间生成一个随机整数?


问题内容

哪种方法返回的最小值和最大值之间的随机整数?还是不存在这种方法?

我正在寻找的是这样的:

NAMEOFMETHOD (min, max)

(其中min和max是ints),将返回如下内容:

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

这是怎么了


问题答案:

在应用程序启动时构造一个Random对象:

Random random = new Random();

然后使用Random.nextInt(int)

int randomNumber = random.nextInt(max + 1 - min) + min;

请注意,下限和上限均包括在内。