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