2013-11-15 30 views
-3

,所以我不知道为什么即时得到一个outofbound错误在这行出界异常,当列表填充物

  bCountry = countriesList.get(loc); 
在我的菜单IM

要求用户输入两个字母的国家代码我修剪空格,和隐蔽它为大写,因为整个列表是大写

然后我沿着代码作为arguement通过在构造

public CountryComponent(String bCode) throws IOException 
{ 
    all = false; 
    String aCode = bCode; 

    getData(); 
} 

所述的getData甲基od从csv文件中提取信息并用数据创建对象,然后调用其他方法向对象中添加附加信息

问题是当我去尝试绘制特定对象时,其他所有内容是罚款

它似乎只是国家代码从菜单心不是被键入列表中被人发现,和IM不知道为什么

Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: -1 
at java.util.ArrayList.elementData(ArrayList.java:371) 
at java.util.ArrayList.get(ArrayList.java:384) 
at CountryComponent.paintComponent(CountryComponent.java:204) 

的底线是“红”色的例外,那里有一个更大的名单,idk,如果它需要的话。

+0

异常消息说索引是'-1'。无论'countriesList'中有多少物品,这都是无效的。因此例外。使它不是'-1'。也请在将来发布相关代码,以及有用的信息,例如'countriesList'的大小和'loc'的值(当然,您在异常消息中间接地发布了后者)。 –

+1

'-1'总是超出范围。 – nhgrif

+0

http://docs.oracle.com/javase/7/docs/api/java/lang/ArrayIndexOutOfBoundsException.html解释了ArrayIndexOutOfBoundsException – user1339772

回答

3

你已经设法给我们看了很多代码,但没有一个是正确的代码。还是你有问题是,当你拨打:

bCountry = countriesList.get(loc); 

loc值是-1,这是非法的。

找出为什么值为-1,并解决该问题。

+0

谢谢,答案让我走上了解决问题的正确思路。我们的类没有开始学习异常,我不知道-1是什么意思,我只打印堆栈跟踪,所以我可以去我的代码中的哪些行给我的问题。我们的课程并没有从适当的异常处理和理解捕获的用法开始,并且可以从内部捕获的信息中获得信息 –