在使用数组时常会遇到报错,类似这样java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for at Main.main
经常遇到就真的有点头疼,所以决定找出报错原因,防止后面再出现这样的问题。
报错代码例
int[] s=new int[5];
for(int j=0;j<=5;j++){
s[j]=sc.nextInt();
}
报错内容
原因
java中的数组分配是从0到它的length-1的空间
array.length是从1开始计数,长度为5。
顺序的情况下是从零开始,一直循环到5的时候报数组下标越界。
逆序的情况下是从5的下标开始循环,没有5这个下标array[5],所以就直接报错。
解决办法
我把int[] s=new int[5];改成int[] s=new int[6];错误解决了,虽然不知道解决办法是否正确,但后面代码和结果都没问题了……
如果有其他解决办法,欢迎评论区留言,一起进步呀^ – ^