用Java打印矩阵

时间:2016-01-26 03:35:10

标签: java arrays

我希望输出看起来像:

[1, 1, 1, 1]  
[1, 1, 1, 1]     
[1, 1, 1, 1]    
[1, 1, 1, 1]  

我的代码现在输出:

1 1 1 1    
1 1 1 1    
1 1 1 1    
1 1 1 1    

for (int j = 0; j < Matrix.length; j++) {  
  for (int k = 0; k < Matrix[0].length; k++) {  
    System.out.print(Matrix[j][k] + " ");  
  }  
  System.out.print("\n");  
}  

我该如何做到这一点?

3 个答案:

答案 0 :(得分:3)

试试这个

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

答案 1 :(得分:0)

只需在循环周围打印逗号和括号,然后输入数字:

for (int j = 0; j < Matrix.length; j++) {  
    System.out.print("[");
    for (int k = 0; k < Matrix[0].length; k++) {  
        System.out.print(Matrix[j][k] + " ");  
        if (k + 1 < Matrix[0].length) System.out.print(", ")
    }  
    System.out.print("]\n");  
}

答案 2 :(得分:0)

在第一行之前打印[,在最后一行之后打印]。然后在空格前添加逗号。此外,Java变量名称以小写字母开头(按照惯例)。你也可以使用for-each loop之类的东西,

int[][] matrix = { { 1, 1, 1, 1 }, { 1, 1, 1, 1 }, { 1, 1, 1, 1 }, { 1, 1, 1, 1 } };
for (int[] array : matrix) {
    System.out.print("[");
    for (int i = 0; i < array.length; i++) {
        if (i != 0) {
            System.out.print(", ");
        }
        System.out.print(array[i]);
    }
    System.out.println("]");
}

将产生您请求的输出(但也将处理锯齿状数组)。