如何在每行显示矩阵值行

时间:2011-09-02 07:21:39

标签: java matrix

我有一个矩阵:5x15:

for(int i=0;i<5;i++){
for(int j=0;j<15;j++){
String[][] Matrix = { { "0", "0", "", "0", "5", "6", "", "", "55", "", "", "", "", "" }, { "1723", "0", "", "0", "0", "3", "", "", "2", "", "", "", "", "" },
        { "10", "0", "", "0", "0", "0", "", "", "0", "", "", "", "", "" }, { "69", "0", "", "0", "0", "20", "", "", "100", "", "", "", "", "" },
        { "35", "0", "", "0", "15", "20", "", "", "57", "", "", "", "", "" } };
system.out.println(Matrix);
}}

我需要打印每一行:line1,line2,.. line5

3 个答案:

答案 0 :(得分:2)

final String[][] matrix = { { "0", "0", "", "0", "5", "6", "", "", "55", "", "", "", "", "" },
        { "1723", "0", "", "0", "0", "3", "", "", "2", "", "", "", "", "" },
        { "10", "0", "", "0", "0", "0", "", "", "0", "", "", "", "", "" },
        { "69", "0", "", "0", "0", "20", "", "", "100", "", "", "", "", "" },
        { "35", "0", "", "0", "15", "20", "", "", "57", "", "", "", "", "" } };

for (String[] row : matrix) {
    System.out.println((Arrays.toString(row)));
}

将产生以下输出:

[0, 0, , 0, 5, 6, , , 55, , , , , ]
[1723, 0, , 0, 0, 3, , , 2, , , , , ]
[10, 0, , 0, 0, 0, , , 0, , , , , ]
[69, 0, , 0, 0, 20, , , 100, , , , , ]
[35, 0, , 0, 15, 20, , , 57, , , , , ]

答案 1 :(得分:0)

您可以执行类似

的操作
for (String[] row : matrix)
    System.out.println(Arrays.toString(row));

要修复您的代码,我建议您从循环中移出矩阵声明,并添加如下的print / println:

String[][] Matrix = {
        { "0", "0", "", "0", "5", "6", "", "", "55", "", "", "", "", "" },
        { "17", "0", "", "0", "0", "3", "", "", "2", "", "", "", "", "" },
        { "10", "0", "", "0", "0", "0", "", "", "0", "", "", "", "", "" },
        { "69", "0", "", "0", "0", "20", "", "", "10", "", "", "", "", "" },
        { "35", "0", "", "0", "15", "20", "", "", "57", "", "", "", "", "" }
};

for(int i=0;i<5;i++){
    for(int j=0;j<14;j++){
        if (j > 0)
            System.out.print(", ");

        System.out.printf("%2s", Matrix[i][j]);
    }
    System.out.println();
}

<强>输出:

 0,  0,   ,  0,  5,  6,   ,   , 55,   ,   ,   ,   ,   
17,  0,   ,  0,  0,  3,   ,   ,  2,   ,   ,   ,   ,   
10,  0,   ,  0,  0,  0,   ,   ,  0,   ,   ,   ,   ,   
69,  0,   ,  0,  0, 20,   ,   , 10,   ,   ,   ,   ,   
35,  0,   ,  0, 15, 20,   ,   , 57,   ,   ,   ,   ,   

答案 2 :(得分:0)

删除system.out.println(Matrix);并在末尾添加(在两个循环之外):

for (int i = 0; i < matrix.length; ++i) {
  System.out.println(Arrays.asList(matrix[i]));
}

数组不是可读的,但像List这样的集合是。

PS:按照惯例,变量以小写,类型和常量开头,大写