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

文章讲述了如何在Java中通过遍历数组,统计0的个数,然后创建新数组并将原数组中非零元素复制到新数组的过程,以实现数组的优化。
摘要由CSDN通过智能技术生成


题干

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

合并数组操作:现有如下一个数组:
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
    评论
要求对Python一维数组求绝对值,可以使用numpy库中的绝对值函数np.abs()来实现。首先,需要将一维数组转换为numpy的ndarray类型,然后使用np.abs()函数对数组中的每个元素求绝对值。 以下是一个示例代码: ```python import numpy as np # 创建一维数组 arr = np.array(\[-1, 2, -3, 4, -5\]) # 对数组中的每个元素求绝对值 abs_arr = np.abs(arr) # 输出结果 print(abs_arr) ``` 输出结果为:\[1 2 3 4 5\] 在这个示例中,我们首先使用np.array()函数将列表转换为numpy的ndarray类型。然后,使用np.abs()函数对数组中的每个元素求绝对值,并将结果赋值给abs_arr变量。最后,使用print()函数输出结果。 请注意,使用numpy库的优势在于它可以对整个数组进行高效的操作,而不需要使用循环语句。这与使用普通的Python列表进行操作的方式不同。 #### 引用[.reference_title] - *1* *3* [Python学习numpy(一维数组保姆别教学](https://blog.csdn.net/ldy__cwx/article/details/124073557)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [洛谷P1086——花生采摘,Python二维数组坐标处理方法](https://blog.csdn.net/zhr1030635594/article/details/100120621)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值