原来的数组有0,现在生成一个新的数组,新数组里面没有0

public class Ashuzu_b9 {
    public static void main(String[] args) {
        //int a[]={1,3,5,0,0,6,6,0,5,7,0,3}生成一个新的数组,新数组里面没有0
        int a[]={1,3,5,0,0,6,6,0,5,7,0,3};//建立静态数组
        //判断b的长度:断定有几个非0的数
        int conut = 0;//记录数
        for (int i=0;i<a.length;i++)
        {
            if(a[i]!=0)//记录的是非零的到底有几个
            {
                conut++;
            }
        }
        int b[]=new int[conut];//就知道了b的数组应该有多少个
        int idenx=0;//如果不能共用下标,但是另外一个还需要变化,那就新建一个下标(变量),然后index++
        for (int i=0;i<a.length;i++)//历遍a的判断
        {
            if(a[i]!=0)//再判断a数组的是否有0,如果非0就放入数组b中
            {
                b[idenx++]=a[i];//不能共用下标,如果共用下标就会造成只有相对位置的数在b数组中:1对1,2对2,空余还是0
                /*idenx++;*/
            }
        }
        /*注释int b[]=new int[a.length];
        for (int i=0;i<a.length;i++)
        {
            if (a[i]!=0)
            {
                b[i]=a[i];//这样就是A和B的数组对应数组,如果b中间为空,但是,系统会默认给他加上0
            }

        }注释*/
        for (int i=0;i<b.length;i++)//扫描b数组并且输出里面的数字就可以了
        {
            System.out.print(b[i]+" ");
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值