首页 > 其他分享 >合并数组操作:现有如下一个数组: int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5} 要求将以上数组中值为0的项去掉,将不为0的值存入一个新的数组,生成的新

合并数组操作:现有如下一个数组: int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5} 要求将以上数组中值为0的项去掉,将不为0的值存入一个新的数组,生成的新

时间:2024-08-02 09:00:11浏览次数:23  
标签:遍历 int ++ 数组 public oldArr

思路: 确定出不为0的个数,这样可以开辟新数组;从旧的数组之中,取出内容, 并将其赋给新开辟的数组。如果判断到0,就使用continue关键字。

注意,合并成一个新的小数组后,i和j不能同步遍历,当continue跳过旧数组0的遍历后,j不跟随i++的增加而变化,而是把j++放程序的最下面,每遍历一个不为0的数后,再加一

public class Arry6 {
    public static void main(String[] args) {
        int []oldArr={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5};
       //先遍历数组
        int count=0;
        for(int i=0;i<oldArr.length;i++){
            if (oldArr[i]==0){
                count++;
            };
        }
        System.out.println("0的个数为:"+count);
        int []newArr=new int[oldArr.length-count];
        for(int i=0,j=0;i<oldArr.length;i++){
            if (oldArr[i]==0){//j不能i同步,不然会超出范围报错,跳过0的时候j不能增加
                continue;
            }
            newArr[j]=oldArr[i];
            j++;
        }System.out.println("新的数组为:");
        printIntArray(newArr);


    }
    public static void printIntArray(int[] array) {
        for (int i = 0; i < array.length; i++) {
            if (i == 0) {
                System.out.print("[" + array[i] + ", ");
            } else if (i == array.length - 1) {
                System.out.print(array[i] + "]");
            } else {
                System.out.print(array[i] + ", ");
            }
        }
        //换行
        System.out.println();
    }
}

运行结果如下:

标签:遍历,int,++,数组,public,oldArr
From: https://blog.csdn.net/ABU009/article/details/140837587

相关文章

  • 二维字符型数组和函数
    二维字符型数组chara[5][10]可以存储最大长度为为10的,5个字符串;按行初始化:a[5][10]={“hello”,“world“,“who”,“are”,“you”} chars[3][10]={{"hello"},{"world"},{"english"}};   gets(s[0]);//s[0]就是第0行这个一维字符型数组的数组名    sca......
  • 字符串相关函数、二维数组-
    目录strcpy--字符串复制函数strcat--字符串拼接函数strcmp--字符串对比函数字符串相关函数:二维数组初始化:strcpy--字符串复制函数char*strcpy(char*dest,constchar*src);功能:  将src中字符串拷贝到dest中 用法: strcpy(dest,src);//dest是一个字......
  • [Java基础]Integer
    在Java中,Integer类会对一些数值进行缓存,这样可以节省内存并提高性能。当你使用Integer.valueOf(int)方法来创建Integer对象时,对于数值在-128到127之间的整数,Java会返回缓存中的对象实例。因此,对于这些范围内的整数,用Integer.valueOf创建的Integer对象实际上会引用同......
  • 数组part02
    2024年8月1日,今天学习了数组的第二部分。1.巩固了昨天的双指针问题,即滑动窗口/双指针;注意,双指针是为了减少for循环,使用的时候小心循环的写法和快慢指针的增长方法。2.学习了数组模拟的螺旋矩阵问题,注意循环不变量;3.学习了前缀和的方法,前缀和常用来解决区间和问题,其实是避免重复......
  • js splice使用,增删数组操作方式
    splice是JavaScript数组对象的一个方法,用于增删数组中的元素。它的基本语法如下:array.splice(start,deleteCount,item1,item2,...)start:指定开始修改的位置索引。deleteCount:可选,指定要删除的元素个数。如果为0,则不删除元素,只插入新元素。item1,item2,...:可选,要插......
  • InternVL 最佳实践 swift微调
    InternVL最佳实践本篇文档涉及的模型如下:internvl-chat-v1_5internvl-chat-v1_5-int8mini-internvl-chat-2b-v1_5mini-internvl-chat-4b-v1_5internvl2-1binternvl2-2binternvl2-4binternvl2-8binternvl2-26binternvl2-40binternvl2-llama3-76b以下......
  • javascript学习 - 数组应用
    什么是数组之前的学习中,如果我们要存储一个值,一般都是通过变量来存储。但如果我们现在想要存储一系列的值,又该如何存储呢,你可能会说可以用多个变量来进行存储。这种方法也可以,但如果你想,一旦值过多,那岂不是就要多个变量,到时候管理就很混乱了。这时候就想,有没有一个可以存储......
  • Robot Operating System——内部审查(Introspection)Service
    大纲introspection_service检验Parameter值和类型修改内部审查(Introspection)功能的状态完整代码introspection_client完整代码测试参考资料在ROS2(RobotOperatingSystem2)中,内部审查(Introspection)是一种强大的功能,它允许用户和开发者查询和理解系统中的实时状态和......