-4

動作していません

     int sum = 0;
          for (int index = 0; index < ratpop; index++) {


// verify whether population falls within blast radius
             if (xcord[index + 1] - xcord[index] <= str
                   || ycord[index + 1] - ycord[index] <= str) 

{
                // if it does sum population of both points
                sum += pop[index] + pop[index + 1];
             }
          }
          // prints out sum and the cordinates are not correct have to figure out
          // later
          System.out.println(xcord[1] + " " + ycord[0] + " " + sum);
       }
    }

x 座標の 1 つと y 座標の 1 つを配列リストにする必要があります。このステートメントのロジックは、x 座標または y 座標が変数 str よりも小さい場合、そうでない場合は合計しますが、関係なく合計することはしません。これは私の最初の質問ですが、他の人が試してみるのを思いとどまらせる可能性のある余分なものはすべて除いて、このサイトを素晴らしいものにしてくれたすべての愛好家に感謝し、誤解をお詫びします.

4

1 に答える 1

1

問題は、配列の境界を超えてインデックスにアクセスしようとしていることです...

   for (int index = 0; index < ratpop - 1; index++) {

これにより、ArrayIndexOutOfBoundsException を取得せずに [index+1] にアクセスできます。

于 2012-07-03T00:17:46.180 に答える