给定一个数组,{},去掉数组中的0元素,创建一个新的数组出来
public class ArrayFeiLing{
public static void main(String[] args){
int[] a = new int[]{1,2,3,0,0,4,5,0,6,0,7};
int x=0;//找寻原数组中的非零元素的个数
for(int i=0;i<a.length;i++){
if(a[i]==0){
//System.out.println(i);
x++;
}
}
System.out.println("一共有"+x+"个0。");
int[] b = new int[a.length-x];
int j=0;//控制新数组的索引变化
for(int i=0;i<a.length;i++){
if(a[i]!=0){
b[j]=a[i];
j++;
}
}
//旧数组没有用了,可是删掉,节省内存
//这样旧数组没有了任何引用指向,会被视为垃圾,垃圾回收器GC会帮助我们回收
a = null;
System.out.println("新数组为:");
for(int v:b){
System.out.print(v+"\t");
}
}
}