把数组中所有连续二个以上的0去掉,将结果存入一个新数组,在线等
完善下面的代码,
把数组中所有连续二个以上的0去掉,将结果存入一个新数组,如
0012010001----->1201
package day02;
public class B {
public static void main(String[] args) {
int[] srcArray={0,0,1,2,0,1,0,0,0,1};
int[] descArray=new int[50];
int i=0,j=0,count=0;
for(i=0;i<srcArray.length;){
count=0;
if(srcArray[i]!=0){
//(1)
i++;
}else{
while(i<srcArray.length&&(2)){
//(3)
i++;
}
if(count<2){
//(4)
}
}
}
for(i=0;i<j;i++){
System.out.println(descArray[i]);
}
}
}
大家帮我看下,thanks
[解决办法]
这个题还好吧,楼主应该能解出来的
[解决办法]
public class B {
public static void main(String[] args) {
int[] srcArray = { 0, 0, 1, 2, 0, 1, 0, 0, 0, 1 };
int[] descArray = new int[50];
int i = 0, j = 0, count = 0;
for (i = 0; i < srcArray.length;) {
count = 0;
if (srcArray[i] != 0) {
descArray[j++] = srcArray[i];
i++;
} else {
while (i < srcArray.length && (srcArray[i]==0)) {
++count;
i++;
}
if (count < 2) {
descArray[j++] = srcArray[i-1];
}
}
}
for (i = 0; i < j; i++) {
System.out.print(descArray[i]);
}
}
}
[解决办法]
(1) descArray[j++]=srcArray[i]
(2) srcArray[i] == 0
(3) count++
(4) descArray[j++]=0;