以下是我的代码,想知道还有哪些更简单的方法?
/**
* 定义一个数组,取出里边的0,把剩下的元素放进一个新的数组,要求新数组中的元素先后顺序与原数组的一致,并且元素类型不变。
*
*
*/
public class Test13 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[]a={9,2,7,0,5,6,5,7,0,0,8,5};
int c=0;
for(int i=0;i<a.length-1;++i){
if(a==0){
//判断a之后的数是否为零
for(int j=i+1;j<a.length-1;j++){
//当为零的元素等于它后边的元素时,那个用来代替零的元素后边的元素依次前移
if(a[j]!=0){
a=a[j];
for(int n=j;n<a.length-1;n++){
a[n]=a[n+1];
}
a[a.length-1]=0;
break;
}
}
c++;
}
}
int [] b=new int[a.length-(c+1)/2];
System.arraycopy(a, 0, b, 0, a.length-(c+1)/2);
for(int n:b){
System.out.print(n+",");
}
}
} |
|