Java练习题:去除数组中值为0项

目录

前言

二、使用步骤

1.第一种较复杂的写法

2.第二种较简便写法

总结


前言

最近看到一个简单的练习题,题目要求将给定数组中值为0的项去掉。下面给出关于题目的两种代码写法。


一、练习题目要求

现有一个数组,int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5},要求将数组中值为0的项去掉,然后重新打印出来。

二、练习题目答题

1.第一种较复杂的写法

首先找出数组为0的值有几个,然后以此定义新数组,将老数组不为0的值存入新的数组。代码如下:

public class Array {
    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 num = Num(oldArr);
        int newArr[]=ArrZero(num,oldArr);
        for (int i : newArr) {
            System.out.print(i+" ");
        }
    }
    public static int Num(int[] arr){
        int num = 0;
        for (int i = 0; i < arr.length; i++) {
            if(arr[i]!=0){
                num++;
            }
        }
        return num;
    }
    public static int[] ArrZero(int num,int[] arr){
        int a = 0;
        int[] arrzero = new int[num];
        for (int i = 0; i < arr.length; i++) {
            if(arr[i]!=0){
                arrzero[a]=arr[i];
                a++;
            }
        }
        return arrzero;
    }
}

2.第二种较简便的写法

使用stream,代码如下:

public class Array {
    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 newArr[]=Arrays.stream(oldArr).filter(e ->(e!=0)).toArray();
        Arrays.stream(newArr).forEach(e -> System.out.print(e+" "));
    }
}

总结

以上就是文章叙述的内容,本文围绕去除数组中值为0项练习题进行解题,并给出两种Java代码写法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值