Java 从二维数组中删除空值以计算其元素数

Java 从二维数组中删除空值以计算其元素数,java,null,multidimensional-array,Java,Null,Multidimensional Array,我试图计算不均匀二维数组中的元素数。如果我尝试打印每个元素,它会抛出null异常 1-如何使其忽略空条目 2-如何计算此矩阵中的元素数以创建一个等于此矩阵中元素数的新数组 public static void main(String[] args) { int[][] mat2 = { {1, 2, 3}, {4, 5}, {6}, null, {}, {7,8}}; System.out.println("rows " + mat2.

我试图计算不均匀二维数组中的元素数。如果我尝试打印每个元素,它会抛出null异常

1-如何使其忽略空条目

2-如何计算此矩阵中的元素数以创建一个等于此矩阵中元素数的新数组

public static void main(String[] args) {

    int[][] mat2 = { {1, 2, 3},
    {4, 5},
    {6},
    null,
    {},
    {7,8}};

    System.out.println("rows " + mat2.length);

    for (int r = 0; r < mat2.length; r++) { 
        for (int c = 0; c < mat2[r].length; c++) {
            int numElements = mat2[r][c]; 
            System.out.println(numElements);
        }
    }

    System.out.println("cols " +mat2[0].length);

    //for (int[] row : mat2)
    //System.out.println(Arrays.toString(row));

}
publicstaticvoidmain(字符串[]args){
int[]mat2={{1,2,3},
{4, 5},
{6},
无效的
{},
{7,8}};
System.out.println(“行”+mat2.length);
对于(int r=0;r
只需检查空值:

 public static void main(String[] args) {
            int[][] mat2 = { { 1, 2, 3 }, { 4, 5 }, { 6 }, null, {}, { 7, 8 } };
            System.out.println("rows " + mat2.length);
            for (int r = 0; r < mat2.length; r++) {
                if (mat2[r] == null)
                    continue;

                for (int c = 0; c < mat2[r].length; c++) {
                    int numElements = mat2[r][c];
                    System.out.println(numElements);
                }
            }
            System.out.println("cols " + mat2[0].length);
            // for (int[] row : mat2)
            // System.out.println(Arrays.toString(row));



}
publicstaticvoidmain(字符串[]args){
int[]mat2={{1,2,3},{4,5},{6},null,{},{7,8};
System.out.println(“行”+mat2.length);
for(int r=0;r
您必须手动检查

例如:

public static void main(String[] args) {
    int[][] mat2 = {{1, 2, 3},
    {4, 5},
    {6},
    null,
    {},
    {7, 8}};
    System.out.println("rows " + mat2.length);
    for (int r = 0; r < mat2.length; r++) {
        if (mat2[r] == null) {
            System.out.println("There is null");
        } else {
            for (int c = 0; c < mat2[r].length; c++) {
                int numElements = mat2[r][c];
                System.out.println(numElements);
            }
        }
    }
    System.out.println("cols " + mat2[0].length);
}

谢谢我试图这样做,但我愚蠢地把空检查放在第二个循环中;D
rows 6
1
2
3
4
5
6
There is null
7
8
cols 3