以矩阵格式转换2数组值

时间:2012-10-29 09:38:19

标签: java

我有一个带有矩阵显示值的2数组。我使用2 for循环和字符串生成器来显示值。问题是值显示在一行我希望它显示为矩阵格式。

我的程序我使用字符串1 =“bbabb”和字符串2 =“aaabb”我比较每个值并相应地构建一个矩阵,给我25个值...但是当我显示在我的文本区域时它显示它就像那样“0000000100001000102101013”但我希望像那样显示它

0 0 0 0 0 
0 0 1 0 0
0 0 1 0 0
0 1 0 2 1
0 1 0 1 3

我是java的新手。有人向我解释逻辑或给我一个示例代码,我可以将第一个字符串格式更改为第二个。谢谢

3 个答案:

答案 0 :(得分:0)

您需要在每行后打印换行符并分隔每个元素。 e.g。

for (int r = 0; r < rows; r++) {
   for (int c = 0; c < cols; c++) {
      // print your element matrix[r][c]
      System.out.print(" ");
   }
   System.out.println(""); // <-- LINE FEED AT THIS POINT
}

(或附加到您的StringBuilder等)。请注意,println()会打印您的字符串和换行符。 print()只打印字符串。

答案 1 :(得分:0)

在内循环结束后,你很可能错过System.out.println()。您需要添加它,以便移动您的下一行以新行打印。

for (int i = 0; i < row; i++) {
    for (int j = 0; j < col; j++) {
    }
    System.out.println();
}

由于您使用StringBuilder来存储输出,因此您可以在同一位置添加newline(内循环后): -

for (int i = 0; i < row; i++) {
    for (int j = 0; j < col; j++) {
    }
    builder.append("\n");
}

答案 2 :(得分:0)

在使用StringBuilder时,您需要在每行之间追加换行符"\n",例如

StringBuilder sb = new StringBuilder();
sb.append("row1");
sb.append("\n");
sb.append("row2");
System.out.println(sb.toString());

显然,调整上述内容以适应嵌套的for循环......