java把一个数组中非零元素取出放入一个新的数组的问题

Tatum_99999
博客专家认证
2015-03-04 05:19:50
以下是我的代码,想知道有没有更加简单的方法啊?
package demo;

/**
* 定义一个数组,取出里边的0,把剩下的元素放进一个新的数组,要求新数组中的元素先后顺序与原数组的一致
* @author
*
*/
public class Test13 {

/**
* @param args
*/
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[i]==0){
//判断a[i]之后的数是否为零
for(int j=i+1;j<a.length-1;j++){
//当为零的元素等于它后边的元素时,那个用来代替零的元素后边的元素依次前移
if(a[j]!=0){
a[i]=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+",");
}
}
}
...全文
320 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

3,423

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧