[数组练习题]合并数组,将数组不为0的元素存放到新数组中(保姆级:一行一注释)(一图流)


题干

提示:这段是题干,仔细阅读仔细分析:

合并数组操作:现有如下一个数组:
intoldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5}
要求将以上数组中值为0的项去掉,
将不为0的值存入一个新的数组,生成的新数组为: intnewArr [] ={1,3,4,5,6,6,5,4,7,6,7,5}
思路:确定出不为0的个数,这样可以开辟新数组;从旧的数组之中,取出内容,并将其赋给新开辟的数组。


一、题目分析

1.定义要修改的数组

2.找原数组中0的个数

3.定义新数组,判断出新数组长度

4.遍历新数组,把原数组中不为0的元素赋给新数组

二、代码

1.代码块

代码如下(示例):

public class Work4 {
    /*程序主入口*/
    public static void main(String[] args) {

        /*定义原来数组*/
        int[] oldarr = {1, 3, 4, 5, 0, 0, 6, 6, 0, 5, 4, 7, 6, 7, 0, 5};

        /*定义count存放原数组中0的个数*/
        int count = 0;

        /*遍历原数组,查看0的个数*/
        for (int i = 0; i < oldarr.length; i++) {
            if (oldarr[i] == 0) {                    //判断元素是否为0,如果为0则count加一
                count++;
            }
        }                                            //循环结束后得到原数组中0的个数

        /*打印原数组,方便后续对照验证,也可以不写这行*/
        System.out.println(Arrays.toString(oldarr));

        /*定义新数组,新数组的长度为原数组的长度减去0的个数*/
        int[] newarr=new int[oldarr.length-count];

        /*定义新数组索引,作用:存放一个元素后自增1,为存放下一个元素做准备*/
        int index=0;

        /*遍历原数组*/
        for (int i = 0; i < oldarr.length; i++) {
            if (oldarr[i]!=0){             //找到不为0的元素
                newarr[index]=oldarr[i];   //如果不为0,把这个元素赋值给新数组
                index++;                   //赋值后索引加一,为存放下一个元素做准备
            }
        }

        /*打印新数组*/
        System.out.println(Arrays.toString(newarr));
    }
}

2.一图流

一图解决困惑666

总结

这是一道数组练习题,本文是我的个人理解,希望对你也能有所帮助!

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值