问题

这个问题在这里已有答案:

  • 如何在Java中生成特定范围内的随机整数? 61个答案

我想知道如何在两个给定值之间生成一个随机数。

我可以使用以下代码生成随机数:

Random r = new Random();

for(int i = 0; i < a.length; i++){
    for(int j = 0; j < a[i].length; j++){
        a[i][j] = r.nextInt();
    }

}

但是,如何生成0到100(含)之间的随机数?

谢谢你们。


#1 热门回答(306 赞)

你可以使用例如.r.nextInt(101)

对于更通用的"两个数字之间",请使用:

Random r = new Random();
int Low = 10;
int High = 100;
int Result = r.nextInt(High-Low) + Low;

这为你提供10(包括)和100(不包括)之间的随机数


#2 热门回答(37 赞)

假设上限是上限,下限是下限,则可以在两个边界之间创建一个随机数r:

int r = (int) (Math.random() * (upper - lower)) + lower;

#3 热门回答(7 赞)

呃......

int Random = (int)(Math.random()*100);

如果你需要生成多个值,那么只需使用for循环

for (int i = 1; i <= 10 ; i++)
       {
        int Random = (int)(Math.random()*100);
        System.out.println(Random);
       }

如果你想指定一个更合适的范围,比如从10到100(两者都在范围内)

所以代码是:

int Random =10 +  (int)(Math.random()*(91));
   /* int Random = (min.value ) + (int)(Math.random()* ( Max - Min + 1));
  *Where min is the smallest value You want to be the smallest number possible to       
  generate and Max is the biggest possible number to generate*/

原文链接