java.array.ArrayIndexOutOfBoundsException 是java中常见的异常,表示数组下标越界,数组的索引从0开始,最后一个索引是数组长度减1,你注意你的第15行和第17行:
if(i == random.length-1)
{
if(random[i] > random[i+1])
{
random[i+1] = random[i];
random[i] = hold;
}
}
该数组表示的范围是从random[0]-random[random.length-1]
i表示变量,从0开始,到random.length-1,但是你在if语句里面用了random[i+1],当i==random.length-1时,表示的已经是数组random的最后一个,你此时访问random[i+1],就相当于访问random[random.length-1+1] -> random[random.length],此时已经超出了数组的索引范围,所以出现该异常,要注意数组的第一个元素是0 , 数组的最后一个元素的索引只能是数组长度减1.
把减1改成减2。因为数组从0开始数,最后一个元素的索引值是length-1
1.for(int i = 0; 1
这行random[i+1]超过数字边界了,你把长度想为1,此时如果i是0,i+1就是1,过界了
第二个for循环改为
for (int i = 0; 1 < random.length-1; i++) {