0

我有一个带有矩阵显示值的 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很陌生。有人可以解释一下逻辑或给我一个示例代码,我可以将第一个字符串格式更改为第二个。谢谢

4

3 回答 3

0

您需要在每行之后打印一个换行符并分隔每个元素。例如

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()只打印字符串。

于 2012-10-29T09:40:36.053 回答
0

System.out.println()在内循环结束后,您可能会丢失 a 。您需要添加它,以便将下一行打印在新行中。

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

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

for (int i = 0; i < row; i++) {
    for (int j = 0; j < col; j++) {
    }
    builder.append("\n");
}
于 2012-10-29T09:41:08.127 回答
0

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

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

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

于 2012-10-29T09:41:53.293 回答