以矩阵格式打印出 2D 阵列

我怎么能打印出一个简单的矩阵框格式,就像我们手写矩阵的格式一样。简单的循环运行显然不起作用。如果它有帮助,我正在尝试在linux ssh终端中编译此代码。int[][]

for (int i = 0; i < rows; i++) {
    for (int j = 0; j < cols; j++) {
        System.out.println(matrix[i][j] + " ");
    }
    System.out.println();
}

答案 1
final int[][] matrix = {
  { 1, 2, 3 },
  { 4, 5, 6 },
  { 7, 8, 9 }
};

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

生产:

1 2 3
4 5 6
7 8 9

答案 2

要正确设置列中数字的格式,最好使用 printf。根据最大或最小值的大小,您可能需要 调整模式 。例如,要允许 和 之间的任何整数,请使用 。"%4d"Integer.MIN_VALUEInteger.MAX_VALUE"%12d"

public void printMatrix(int[][] matrix) {
    for (int row = 0; row < matrix.length; row++) {
        for (int col = 0; col < matrix[row].length; col++) {
            System.out.printf("%4d", matrix[row][col]);
        }
        System.out.println();
    }
}

输出示例:

 36 913 888 908
732 626  61 237
  5   8  50 265
192 232 129 307