int[] intArray;
intArray = new int[15];
int total = 0;
for (int i = intArray.length; i >= 0; i--) 
{
  total += intArray[i];
}当我运行Debug后,发现走到 total += intArray[i];时候 就提示了下标越界.
Total 初值是0 ,而IntArray没有元素(我认为)。             但是这里没有没有 索引为负,或者 超出范围的错误,怎么会提示下标越界呢?

解决方案 »

  1.   

    总共15个,你循环了16次,改为int i = intArray.length; i > 0; i--) 
      

  2.   

    intArray数组下标是0-14
    你的int i=intArray.length;这里i是15
    所以一运行intArray[i](即intArray[15)肯定是越界了.
    应该
    for (int i = intArray.length; i > 0; i--)
    {
      total += intArray[i-1];
      

  3.   

    数组的下标必须位于【0,数组长度-1】这个区间
    错误的示例:
    int[] m = new int[3];
    m[3] = 0;  //越界
      

  4.   

    或者可以这样写:for( int i=intArray.length-1;i>=0;i-- )
    {
        total += intArray[i];
    }