如何打印特定列的值

所以我试图弄清楚如何从给定的数组中打印特定的列,并且我完全卡住了。我设法打印整个矩阵,但没有设法在特定列上打印。


这是给学校的


public class ex_1 {

    public static void main(String[] args) {


        int[][] arr = {{-1, -1, 1, 2, 3, -1},

                {-1, 4, 5, 1, -1, -1},

                {-1, -1, 6, 5, 4, 3},

                {-1, 2, 5, 3},

                {1, 2, 1}};


        getNumFromCol(arr, 1);

    }


    public static int getNumFromCol(int[][] mat, int col) {

        int temp = 0;

        for (int i = 0; i < mat.length; i++) {

            for (int j = 0; j < mat[i].length; j++) {

                if (mat[i][j] != -1) {

                    temp = mat[col][j];

                }

            }

            System.out.print(temp);

        }

        return temp;

    }

}

422


慕哥9229398
浏览 115回答 2
2回答

一只萌萌小番薯

访问二维数组matrix时,您需要给出行号和列号的matrix[i][j]位置。ij因此,如果要打印某一列col,则需要col在矩阵中每一行的位置打印该项目。它看起来像这样:public static void printColumn(int[][] matrix, int col) {&nbsp; &nbsp; for (int[] row: matrix) {&nbsp; &nbsp; &nbsp; &nbsp; System.out.println(row[col]);&nbsp; &nbsp; }}笔记如果您想要一个漂亮的列格式,您可以使用StringBuilder逐步构建输出。例如,如果您希望列格式为[1, 2, 3, 4, 5],它将如下所示public static void printColumn(int[][] matrix, int col) {&nbsp; &nbsp; StringBuilder sb = new StringBuilder();&nbsp; &nbsp; sb.append("[ ");&nbsp; &nbsp; for (int[] row: matrix) {&nbsp; &nbsp; &nbsp; &nbsp; sb.append(row[col]).append(' ');&nbsp; &nbsp; }&nbsp; &nbsp; sb.append(']');&nbsp; &nbsp; System.out.println(sb.toString());}

慕码人8056858

首先你不需要做嵌套循环。如果要迭代整个矩阵,则需要嵌套循环 - 一个用于 X,一个用于 Y,但由于您已经知道该列,因此一个循环就足够了。&nbsp; &nbsp; for (int j = 0; j < mat[col].length; j++) {&nbsp; &nbsp; &nbsp; &nbsp; temp = mat[col][j];&nbsp; &nbsp; &nbsp; &nbsp; System.out.println(temp);&nbsp; &nbsp; }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java