你好,我是新手編程,我目前的任務是創建一個有關排序的程序。我不斷收到錯誤排序問題..
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -1
at sorting.Sorting.main(Sorting.java:17)
Java Result: 1
它告訴錯誤所在行17載的線路:
if (ArrayOfInts[j] > ArrayOfInts[j + 1])
請幫助..繼承人的整個事情。
public class Sorting{
public static void main(String[] args){
int[] ArrayOfInts = {42, 97, 3, 689, 14, 1076, 3000, 8, 632, 327, 976, 4215};
for(int i = ArrayOfInts.length; i >= 1; i--){
for(int j = 0; j < i; j--){
if (ArrayOfInts[j] > ArrayOfInts[j + 1]){
int temp = ArrayOfInts[j];
ArrayOfInts[j] = ArrayOfInts[j + 1];
ArrayOfInts[j - 1] = temp;
}
}
}
for(int i = 0; i < ArrayOfInts.length; i++){
System.out.println(ArrayOfInts[i] + " ");
}
}
}
那麼信息本身就表明你的邏輯'j + 1'導致數組超出界限。索引從0開始到length - 1。 –