我有一个带有矩阵显示值的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的新手。有人向我解释逻辑或给我一个示例代码,我可以将第一个字符串格式更改为第二个。谢谢
答案 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
循环......