Java 需要将特定行和特定列中相交的所有值更改为零

Java 需要将特定行和特定列中相交的所有值更改为零,java,multidimensional-array,Java,Multidimensional Array,数组使用0-20之间的随机数初始化。 如果该数组中的任何值为0,则此方法应将该行和列中的所有值更改为零 相反,它会清除数组并将所有值更改为零。 有什么想法吗 for (int row = 0; row < size; row++){ for (int col = 0; col < size; col++){ if (matrix[row][col] == 0){ for (int k = 0; k &l

数组使用0-20之间的随机数初始化。 如果该数组中的任何值为0,则此方法应将该行和列中的所有值更改为零

相反,它会清除数组并将所有值更改为零。 有什么想法吗

     for (int row = 0; row < size; row++){
        for (int col = 0; col < size; col++){
            if (matrix[row][col] == 0){
                for (int k = 0; k < size; k++)
                    matrix[k][col] = 0;
                for (int l = 0; l < size; l++)
                    matrix[row][l] = 0;
            }
        }
    }
    System.out.println("Result:");
    for (int i = 0; i < size; i++){
        for (int j = 0; j < size; j++)
            System.out.printf("[%1$2s]", copy[i][j]);
        System.out.println();    
    }
for(int row=0;row
对于那些仍然关心的人,这里是完整的代码

    Random random = new Random();
    int[][] matrix = new int[size][size];    
    for (int i = 0; i < size; i++){
        for (int j = 0; j < size; j++)
            matrix[i][j] = random.nextInt(20);
    }
    for (int row = 0; row < size; row++){
        for (int col = 0; col < size; col++){
            if (matrix[row][col] == 0){
                for (int k = 0; k < size; k++)
                    matrix[k][col] = 0;
                for (int l = 0; l < size; l++)
                    matrix[row][l] = 0;
            }
        }
    }

    System.out.println("Result:");
    for (int i = 0; i < size; i++){
        for (int j = 0; j < size; j++)
            System.out.printf("[%1$2s]", matrix[i][j]);
        System.out.println();    
    }
Random Random=new Random();
int[][]矩阵=新的int[size][size];
对于(int i=0;i
为什么要更改“矩阵”数组并打印“复制”数组?矩阵[]的一切都应该是正确的,而copy可能是另一个在前面用零初始化的数组,您可以得到它。