java.lang.ArrayIndexOutOfBoundsException
含义:程序运行中,用数组时用下标超了数组的约定个数
package com.woniu.test.demo;
import java.util.Arrays;
import java.util.Scanner;
public class DeleteNumber {
public static void main(String[] args) {
//数组已经按照从小到大的顺序排序
//0表示数组没有装满,有剩余空间,可以添加数据
//删除指定元素,保证数组的排列顺序
Scanner s = new Scanner(System.in);
int[] a= {1,4,9,20,77,88,100,0,0,0,0,0};
int b = s.nextInt();
//找这个数
int i = 0;
for(i = 0; i<=6 ; i++) {
if(a[i] == b) {
break;
}
}
//找到了,是a[i],后续的数左移1位
for(int j= i+1 ;j <a.length; j++) {
//上面这里不能不能写j <= a.length,末端会超数组个数范围,
//java对数组元素的范围要求比C严格得多,C在这里是允许超1个个数的
a[j-1] = a[j];
}
System.out.println(Arrays.toString(a));
}
}
输入77,输出如下
77
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 12
at com.woniu.test.demo.DeleteNumber.main(DeleteNumber.java:24)