这个问题在这里已经有答案了:
是什么导致java.lang.arrayindexoutofboundsexception以及如何防止它(26个答案)
18天前关门了。
我正试着做插入排序,但它不能正常工作。
我是按要求做的,但还是有错误。
任何关于我做错了什么的建议。
请帮忙,我是编程新手。
package practicepkg;
public class InsertionDemo {
public static void main(String[] args) {
int a[] = {10, 2, 3, 45, 66};
int count = 1, temp = 0;
int i, j, key;
for (j = count; j < 4; j++) {
key = j;
if (key < 4 && temp < 4) {
for (i = temp; i >= 0; i--) {
if (a[key] < a[i]) {
int n = a[key];
a[key] = a[i];
a[i] = n;
}
key++;
}
temp++;
count++;
} else {
break;
}
}
for (int k = 0; k < 4; k++) {
System.out.println("Sorted array is " + a[k]);
}
}
}
线程“main”java.lang.arrayindexoutofboundsexception中出现异常:索引5超出长度5的界限
在practicepkg.insertiondemo.main(insertiondemo。java:17)
1条答案
按热度按时间yvfmudvl1#
您正在为j的值赋值,j的值应该被赋值
a[j]
. 进一步将大小替换为5或数组大小,同时消除count和temp变量。更正后的代码如下: