一道java笔试题,去除连续2个以上的0

请用JAVA编写如下程序:此程序处理一个由0和非0数字成员组成的数组(长度自定),例如0 0 1 2 0 1 0 0 0 1 0 0 0 0 0 2 0 7 8 9 0 0 1 2 3 4,把数组中所有连续两个以上的0去掉,将结果存入一个新数组。如上例处理后结果为,1 2 0 1 1 2 0 7 8 9 1 2 3 4。请基本语言实现数组处理算法,不要使用Java高级类。请以上述例子测试此程序,发回源代码和截屏图。



public class Outzero {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int[] srcArray = {0,0,1,2,0,1,0,0,0,1,0,0,0,0,0,2,0,7,8,9,0,0,1,2,3,4};
		int[] destArray = new int[50];
		int i=0,j=0,count=0;
		for(i=0;i<srcArray.length;){
			count = 0;
			if(srcArray[i]!=0){
				destArray[j++] = srcArray[i];
				i++;
			}
			else{
				while(i<srcArray.length&&srcArray[i] == 0){
					count++;
					i++;
				}
				
				if(count<2)destArray[j++] = 0;
			}
		}
		for(i=0;i<j;i++){
			System.out.print(destArray[i]+" ");
			
		}
		

	}

}

你可能感兴趣的:(java,算法,J#)