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没有元素(我认为)。 但是这里没有没有 索引为负,或者 超出范围的错误,怎么会提示下标越界呢?
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没有元素(我认为)。 但是这里没有没有 索引为负,或者 超出范围的错误,怎么会提示下标越界呢?
解决方案 »
- 【Swing】关于数组创建标签
- 怎么按顺序发牌给两个人啊?
- 急求thinking in java 3rd和thinking in java 4rd 的练习答案
- 字符串split问题求解(50分,解决立即结贴)
- 向个位高手求助
- 求一代码(在面板上实现播放声音和显示gif动画)
- 如何自动重新启动一个进程(急)
- 连接池在TOMCAT中不可用吗?我是新人。
- 为什么ResultSet不能用于递归程序中 ErrMsg :java.sql.SQLException: ResultSet is closed
- 求教,子类继承父类,如何实现将子类和父类的属性写入数据库各自的表中,并做为一个事务进行处理
- java.io里怎么判断读取文本时的行数?
- java中如何做一个可动的时间
你的int i=intArray.length;这里i是15
所以一运行intArray[i](即intArray[15)肯定是越界了.
应该
for (int i = intArray.length; i > 0; i--)
{
total += intArray[i-1];
}
错误的示例:
int[] m = new int[3];
m[3] = 0; //越界
{
total += intArray[i];
}