Java对象Random始终返回错误:“0”;随机.nextInt(int)行:不可用;

Java对象Random始终返回错误:“0”;随机.nextInt(int)行:不可用;,java,arrays,random,Java,Arrays,Random,我目前正在为学校编写一个程序,测试不同排序算法的效率。当尝试创建随机数数组时,随机对象总是给出一个错误 arrays是类型ArrayList,是我测试的一组数组 numTrials是类型int,是每个数组大小的试验次数(我正在测试不同的数组大小,不同的10次方) 这是我现在填充数组的代码: Random randGen = new Random(); for(int i = 0; i < arrays.size(); i++) { for(int j = 0; j < Ma

我目前正在为学校编写一个程序,测试不同排序算法的效率。当尝试创建随机数数组时,随机对象总是给出一个错误

arrays
是类型
ArrayList
,是我测试的一组数组

numTrials
是类型
int
,是每个数组大小的试验次数(我正在测试不同的数组大小,不同的10次方)

这是我现在填充数组的代码:

Random randGen = new Random();

for(int i = 0; i < arrays.size(); i++)
{
    for(int j = 0; j < Math.pow(10.0, i / numTrials); j++)
    {
        arrays.get(i).set(j, randGen.nextInt(i));
    }
}
Random randGen=new Random();
对于(int i=0;i
我还通过调用
randGen.setSeed(System.currentTimeMillis())
尝试播种,但每次都会出现错误

以下是错误的屏幕抓图:

您必须得到类似于
随机数的界限必须为正数的东西,因为您只能为正数生成随机数。

nextInt()
有以下检查

if (bound <= 0)
            throw new IllegalArgumentException(BadBound);

Random
的确切
类别是什么?我觉得这个错误消息不太可能-这正是您看到的吗?这是编译时错误还是异常?
数组的类型是什么?
?除了
数组.get(i)
可能返回null和
。如果列表太小,set(j,…)
不起作用之外,我觉得这个代码非常正确。你确定你导入了
java.util.Random
?@borisespider Random来自
java.util.Random
@jonsket
数组
是我在问题中说的类型
数组列表
。我还用错误截图编辑了这个问题@Clashsoft我确保我有进口的。代码中的所有内容都在前面进行了初始化。这一点很好,但这并不能完全回答问题。这将是一个很好的评论。@ErwinBolwidt但这并不是Random的例外。我认为OP正在尝试调试一些东西,他正在更改代码,因此他可能看到了这一点。
java.lang.IllegalArgumentException: bound must be positive