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));
}
}
415

被折叠的 条评论
为什么被折叠?



