Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 12

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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值