-1

我想像矩阵一样显示矩阵值

像这样

0 0 1 0 0
0 1 1 1 1
0 0 0 0 0

当我制作这段代码时,它垂直显示

for (int i = 0; i < mat.length; i++)
                for (int j = 0; j < mat[i].length; j++)
                    System.out.println(mat[i][j]);
4

2 回答 2

3

System.out.println打印一条线一条断线。您可能希望使用System.out.print它只打印数据。

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

但是现在的问题是,同一的所有数据都打印出来了,没有空格。您可以使用System.out.print(mat[i][j] + " ");,但这有点笨拙。最好的选择是用于System.printf允许格式化将在控制台上打印的文本:

for (int i = 0; i < mat.length; i++) {
    for (int j = 0; j < mat[i].length; j++) {
        //assuming mat[i][j] content is int...
        System.out.printf("%3d", mat[i][j]);
    }
    System.out.println();
}

有关格式化的更多信息System.out.printf格式化字符串语法

于 2013-04-23T05:03:31.370 回答
0

试试这个:print在内部循环中使用,它将在一行中打印一行。println在将分隔每一行的外循环中使用。

for (int i = 0; i < mat.length; i++){
    for (int j = 0; j < mat[i].length; j++)
        System.out.print(mat[i][j]);
    System.out.println();
}
于 2013-04-23T05:03:23.230 回答