A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

以下是我的代码,想知道还有哪些更简单的方法?


/**
* 定义一个数组,取出里边的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+",");

}

}
}

1 个回复

倒序浏览
  1. int[] x = { 1, 5, 2, 5, 2, 0, 5, 2, 5, 2, 0, 0, 5, 3, 5, 8 };
  2.                 // 定义字符串,接收数组所有数据
  3.                 String str = "";
  4.                 // 便利数组
  5.                 for (int x1 : x) {
  6.                         str = str.concat(String.valueOf(x1));
  7.                 }
  8.                 // 首先去零
  9.                 String str2 = str.replaceAll("0", "");

  10.                 // 转为数组
  11.                 String[] st = str2.split("");
  12.                
  13.                 // 数组赋值给int 数组
  14.                 int[] y = new int[st.length];
  15.                 for (int z = 0; z < st.length; z++) {
  16.                         y[z] = Integer.valueOf(st[z]);
  17.                 }
复制代码

look
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马