public class ArrayResizer {

	public static boolean isNonZeroRow(int[][] array2D, int r)
	{
		boolean isNonZero = true;
		for (int i=r; (i<= r) && (isNonZero) ; i++)
		{
			for (int j=0; (j < array2D[i].length) && (isNonZero); j++)
			{
				if (array2D[i][j] == 0) isNonZero = false;
			}
		}
		return isNonZero;
	}
	
	//implementing this method for testing
	public static int numNonZeroRows(int[][] array2D)
	{
		int nonZeroRows =0;

		for (int i=0; (i< array2D.length) ; i++)
		{
			if (isNonZeroRow(array2D, i) == true)
				nonZeroRows++;
		}
		return nonZeroRows;
	}
	
	public static int[][] resize(int[][] array2D)
	{
		int numRows = numNonZeroRows(array2D);
		int[][] newArray =new int[numRows][array2D[0].length];
		int k=0;
		
		for (int i=0; (i< array2D.length); i++)
		{
			if (isNonZeroRow(array2D,i))
			{
				for (int j=0; j< array2D[0].length; j++)
				{
					newArray[k][j] = array2D[i][j];
				}
				k++;
			}
		}
		return newArray;
	}
}

