Java.util.random - “绑定必须是正面的”

时间:2014-10-22 20:14:24

标签: java random indexoutofboundsexception

我收到此错误:

java.lang.illegalException:
bound must be posotive

在以下代码行中:

Random random = new Random();
Item randomItem;
randomItem = new Item("NAME_HERE", "DESCRIPTION_HERE", 0000);
int randomNumber = random.nextInt(randomItem.randomNames.size());   *** ERROR HERE?!
randomItem.name = randomItem.randomNames.get(randomNumber);
addItem(randomItem);

这只发生在我调用上述方法的第二次。它看起来像(如果我尝试打印出randomNames arraylist的大小,它实际上变为0.但它不应该......这是randomItem,其中randomNames arraylist被创建..除了上面的代码之外别的什么影响力。????

public ArrayList<String> randomNames;
randomNames.add("Key");
randomNames.add("Rock");
randomNames.add("Balloon");
randomNames.add("Boot");
randomNames.add("Knife");
randomNames.add("Pencil");

2 个答案:

答案 0 :(得分:1)

您的randomItems数组大小为0.检查

  • randomNames未声明为静态
  • Item构造函数填充randomItems数组

答案 1 :(得分:0)

您是否已实例化您的列表?

randomNames = new ArrayList<String>();

然后你可以添加你想要的所有项目。