首页 > 解决方案 > 将随机值分配给数组的问题

问题描述

我一直在尝试编写一种方法,该方法在被调用时会产生一个随机长度的数组,并为每个值分配随机数。出于某种原因,我在 for 循环中遇到了越界异常。

   public static int[] randArray()
   {
       int[] myRandArray = new int[0];
       
       for (int i = 0; i <= (int)((Math.random() * 99) + 1); i++ ) {
           myRandArray[i] = (int)((Math.random() * 99) + 1);
       }
       
       return myRandArray;
   }

我是 Java 的新手,这可能是一个愚蠢的问题,但无论如何谢谢。

标签: javaarraysrandom

解决方案


在尝试添加之前,您需要设置最终的数组长度:

int length  = (int)((Math.random() * 99) + 1);
int[] myRandArray = new int[length];

然后在循环内你可以简单地做:

for (int i = 0; i < length; i++ ) {
    myRandArray[i] = (int)((Math.random() * 99) + 1);
}

请注意我在循环中如何使用i <not i <= ,否则最后一项将超出范围。


推荐阅读