作成した arrayList から線分 (長さ) を計算しようとしています。これはJAVAにあります。すべてが思いどおりに機能しますが、次のメッセージが表示されます。 .ArrayList.get(不明なソース) "
arraylist のインデックスに「+1」を指定すると、問題が発生します。これがエラー メッセージの原因ですが、線分は計算されます。それらを印刷してから、恐ろしいエラーステートメントを印刷します。
myPoints.get((i+1)).x ; <--- (i+1) が問題を引き起こしている tempYFirst = myPoints.get(i).y; <--- +1 がなくても問題なく動作しますが、やりたいことができません。
public static void showStats(ArrayList<Point> myPoints)
{
double distance = 0.0;
double length;
double tempX;
double tempY;
double tempX2;
double tempY2;
int tempFirst;
int tempSecond;
int tempYFirst;
int tempYSecond;
int xValue;
int yValue;
// Line segments are calculated by the distance formula of:
// Sqrt ( (x2-x1)^2 + (y2-y2)^2)
for (int i = 0; i < myPoints.size(); i++) {
tempFirst = myPoints.get(i).x;
tempSecond = myPoints.get((i+1)).x ;
tempYFirst = myPoints.get(i).y;
tempYSecond = myPoints.get((i+1)).y;
xValue = tempFirst - tempSecond;
yValue = tempYFirst - tempYSecond;
tempX2 = Math.pow(xValue, 2);
tempY2 = Math.pow(yValue, 2);
distance += Math.sqrt((tempX2 + tempY2));
System.out.println(tempSecond);
}// /
}