首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Java中生成最小和最大之间的随机整数?

如何在Java中生成最小和最大之间的随机整数?
EN

Stack Overflow用户
提问于 2010-03-14 22:20:46
回答 8查看 197.3K关注 0票数 47

哪种方法在分钟和最大值之间返回一个随机的int?还是根本没有这样的方法?

我要找的是这样的东西:

代码语言:javascript
复制
NAMEOFMETHOD (min, max) 

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

代码语言:javascript
复制
8

(随机)

如果确实存在这样的方法,请将您的答案链接到相关文档。

谢谢。

更新

尝试实现完整的解决方案,我得到以下错误消息:

代码语言:javascript
复制
class TestR
{
    public static void main (String[]arg) 
    {   
        Random random = new Random() ;
        int randomNumber = random.nextInt(5) + 2;
        System.out.println (randomNumber) ; 
    } 
} 

我仍然从编译器那里得到相同的错误:

代码语言:javascript
复制
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

这里出什么问题了?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2010-03-14 22:22:31

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

代码语言:javascript
复制
Random random = new Random();

然后使用Random.nextInt(int)

代码语言:javascript
复制
int randomNumber = random.nextInt(max + 1 - min) + min;

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

票数 144
EN

Stack Overflow用户

发布于 2010-03-14 22:26:04

您可以使用Random.nextInt(n)。这将返回[0,n]中的随机int。只要使用max- min +1代替n,并将min添加到答案中,就会在所需的范围内给出一个值。

票数 19
EN

Stack Overflow用户

发布于 2014-06-30 11:03:33

代码语言:javascript
复制
public static int random_int(int Min, int Max)
{
     return (int) (Math.random()*(Max-Min))+Min;
}

random_int(5, 9); // For example
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2444019

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档