-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 坐标之一和 y 坐标之一我对这个语句的逻辑是,如果 x 坐标或 y 坐标小于变量 str 则求和,如果不是,但它不会这样做,无论如何它都会求和。这是我最初的问题,但没有可能阻止其他人尝试的所有额外内容,在此先感谢所有使这个网站变得很棒的爱好者,我对误解表示歉意。

4

1 回答 1

1

问题是您正在尝试访问超出数组范围的索引...

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

这将让您访问 [index+1] 而不会收到 ArrayIndexOutOfBoundsException

于 2012-07-03T00:17:46.180 回答