我的代码中ArrayIndexOutOfBoundsException的原因是什么?

时间:2011-05-20 20:21:13

标签: java

我正在Java中实现凸包的Graham扫描算法。

运行代码时出现此错误。对于输入字符串:“10 18”

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
    at Graham.SelectMin(Graham.java:110)
    at Graham.GrahamScan(Graham.java:78)
    at Graham.main(Graham.java:41)

有人可以帮我解决这个错误吗?

谢谢

2 个答案:

答案 0 :(得分:1)

  

java.lang.ArrayIndexOutOfBoundsException: 0

这意味着您正在尝试访问空数组的元素。 (大小为0的数组。)

您需要具有非负大小的数组才能访问索引0处的元素。

作为参考,例如,此代码会产生相同的错误:

int initialSize = 0;
int[] arr = new int[initialSize];
System.out.println(arr[0]);

答案 1 :(得分:0)

这意味着在线110 of Graham.java上你试图访问< 0> the length of your array的数组索引,无法准确判断哪个数组没有代码。

同样Graham.SelectMin(Graham.java:110)表明您正在以非惯用Java方式命名方法调用。在Java中,方法调用应该在lowerCamelCase中,例如Graham.selectMin();

在Java UpperCamelCase中保留ClassNames