我正在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)
有人可以帮我解决这个错误吗?
谢谢
答案 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
。