public class SelectSort
{
public void sort (int[] array)
{
int index;
for (int i = 0; i < array.length-1; i++)
{
index=0;
for (int j = 0; j < array.length-i-1; j++)
{
if(array[j]>array[index])
{
index=j;
}
}
int temp=array[array.length-i];
array[array.length-i]=array[index];
array[index]=temp;
}
showArray(array);
}
/*
显示数组织中的所有元素
*/
public void showArray(int[] array)
{
for (int i : array)
{
System.out.print(">"+i);
}
System.out.println();
}
}
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 6
at SelectSort.sort(SelectSort.java:18)
at Quick.main(Quick.java:9)
array[array.length-i]
i=0时就越界了
1、首先异常时越界了,同1楼array[array.length-i], i=0时越界了 应为:array[array.length-i-1]
2、排序的话用Arrays.sort()就行了。
int[] a = {1,2,3,4};
Arrays.sort(a);