我正在尝试制作一个数组排序器。但我收到一个错误:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 7
我不知道如何解决它。如果我删除带有箭头的行,则代码可以工作,但它不会交换。我做错了什么?
感谢您的帮助!
public class Main {
public static void main(String[] args) {
int[] list = {5, 3, 7, 2, 4, 8};
for (int i = 0; i < list.length; i = i + 2) {
if (i != list.length - 1) {
if (list[i] > list[i + 1]) {
int leftNumber = list[i];
int rightNumber = list[i + 1];
int src = i;
int temp = list[i];
list[i] = list[i + 1];
//--> list[i + 1] = list[temp];
System.out.println(leftNumber + " : " + rightNumber);
System.out.println(i + " : " + (i + 1));
System.out.println(Arrays.toString(list));
} else {
System.out.println("Good!");
}
}
}
}
}
最佳答案
temp
不是数组索引:您为其分配了list[i]
,它是一个数组元素>.
关于java - 制作一个数组排序器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49071333/