535
社区成员
发帖
与我相关
我的任务
分享
public class DeleteZero {
private static int[][] intArray = {
{0,1,1,0,2,2,0,0,0,0},
{0,3,3,4,0,4,5,5,0,0},
{0,-1,-1,0,-2,-2,-3,-3,-4,-40,},
{0,2,0,2,0,0,0,0,0,0},
{0},
{1}
};
private static int[] temp, target; //temp是过渡数组,target存储非零元素
private static int[][] result;
private static int count = 0;
public static int[][] deletZero(int[][] intArray){
int firstDimesion = intArray.length; //定义二维数组的第一维的长度
for(int i=0; i<intArray.length; i++){
if(intArray[i].length == 1 && intArray[i][0] == 0)
firstDimesion --;
}
result = new int[firstDimesion][];
firstDimesion = 0;
for(int i=0; i<intArray.length; i++){
if(intArray[i].length == 1 && intArray[i][0] == 0)
continue;
temp = intArray[i];
target = temp;
for(int j=0; j<temp.length; j++){
if(temp[j] != 0){
target[count] = temp[j];
count ++;
}
}
result[firstDimesion] = new int[count];
for(int k=0; k<count; k++)
result[firstDimesion][k] = target[k];
count = 0; //count置0
firstDimesion ++; //长度增一,初始化下一个数组
}
return result;
}
public static void printArray(int[][] intArray){
for(int i=0; i<intArray.length; i++){
for(int j=0; j<intArray[i].length; j++)
System.out.print(intArray[i][j] +" ");
System.out.println();
}
}
public static void main(String args[]){
deletZero(intArray);
printArray(result);
}
}