2013-04-23 100 views
-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]); 
+1

你的问题是:

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格式的信息? – TheMerovingian 2013-04-23 05:02:32

+0

检查我的编辑代码 – mpluse 2013-04-23 05:03:46

回答

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允许,将在控制台上打印的文本格式:Format String syntax

+0

是的,谢谢!我总是使用'println'。这就是为什么... – mpluse 2013-04-23 05:06:16

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(); 
} 
+0

*试试这个*?至少解释**为什么**它应该是这样的。 – 2013-04-23 05:05:11