在原有数组的基础上创建一个新的数组,将指定的值存入新数组中

1.题目:

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

2.思路:

旧数组是已知的,先弄出来
想把数组中的0全部摘掉的话,我准备还是用if来解决,直接把等于0的全噶掉.
不过在此之前,肯定得先确定一下新数组的长度

3.代码:

import java.util.Arrays;

/*
 * @Author: Bun
 * @Version: 1.0
 * @Date: 2022/9/25-11:26
 */

public class Test4 {
    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 l = oldArr.length;

		//计算新数组长度
        for (int i : oldArr) {
            if (i == 0) {
                l--;
            }
        }

        int i = 0;
        int[] newArr = new int[l];

		//利用for循环和if来录入非0值
        for (int j : oldArr) {
            if (j != 0) {
                newArr[i] = j;
                i++;
            }
        }
        System.out.println(Arrays.toString(newArr));
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值