如何修复java.lang.IndexOutOfBoundsException错误?
我要做的是创建一个多边形对象,它由Point2D对象的ArrayList组成,然后找到它的周长 多边形类 您得到的是i+1对象,当您进行迭代时,该对象可能不存在于列表中。例如,如果列表中只有一个元素,则For循环将从0开始,因此对于i==0,您将有如下内容: 但是列表中没有索引为1的元素,因此它将引发异常。有两种方法可以解决此问题: 1您可以将for循环更改为for int i=0;i如何修复java.lang.IndexOutOfBoundsException错误?,java,Java,我要做的是创建一个多边形对象,它由Point2D对象的ArrayList组成,然后找到它的周长 多边形类 您得到的是i+1对象,当您进行迭代时,该对象可能不存在于列表中。例如,如果列表中只有一个元素,则For循环将从0开始,因此对于i==0,您将有如下内容: 但是列表中没有索引为1的元素,因此它将引发异常。有两种方法可以解决此问题: 1您可以将for循环更改为for int i=0;i
if(i == point.size()-1`) {
perimeter += point.get(i).distance(point.get(0));
}
您得到的是i+1对象,当您进行迭代时,该对象可能不存在于列表中。例如,如果列表中只有一个元素,则For循环将从0开始,因此对于i==0,您将有如下内容:
但是列表中没有索引为1的元素,因此它将引发异常。有两种方法可以解决此问题:
1您可以将for循环更改为for int i=0;iif(i == point.size()-1`) {
perimeter += point.get(i).distance(point.get(0));
}
point.geti+1在循环的末尾不存在
使用int i=0;i使用int i=0;i
perimeter += point.get(0).distance(point.get(0 + 1));
if(i == point.size()-1`) {
perimeter += point.get(i).distance(point.get(0));
}