数组越界 Exception in thread in“main“java.lang.ArrayIndexOutOfBoundsException: 9

数组越界 Exception in thread in"main"java.lang.ArrayIndexOutOfBoundsException: 9

原数组

int[] array = {2,432,5221,235,2,5352,1,53,5,3,5364,2,2,63,3553,2,53,532,532};
int[] B = new int[jiShu];//jiShu = 10
        int[] C = new int[ouShu];//ouShu = 9
        int j = 0;
        int k = 0;
        for (int i = 0,len = array.length;i<len;i++)
            if (array[i] % 2 == 0) {
                C[j] = array[i];/**Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 9
                 这是数组越界的问题
                 偶数9个空,j从0开始加,本应该正好,但最后一个空加完以后,j还要加1,但j已没用了
                 循环到下一个数的时,虽然没偶数了但是还是得从上往下判断,这时j多出来的这一个数就超出了数组的空间
                 解决方法:要么给数组+1,要么看谁先循环完谁放后面,最后就执行不到下面了*/
                j++;
            } else {
                B[k] = array[i];
                k++;
            }
        System.out.println(Arrays.toString(B));//[2, 432, 2, 5352, 5364, 2, 2, 2, 532, 532]
        System.out.println(Arrays.toString(C));//[5221, 235, 1, 53, 5, 3, 63, 3553, 53]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值