【发布时间】:2014-09-23 21:17:43
【问题描述】:
我的程序有一点不当行为。
他的一个方法应该构建一个字符串,然后将其返回以在 Java Swing GUI 中显示。 在它的某些部分,它需要存储一个“换行符”(我不知道正确的名称)“/n”。
但是当我在 gui 中显示这个字符串时,它包含 /n 而不是正确跳行。
这有点令人困惑,但我认为您可以通过代码弄清楚:
public String draw(Robot robot, MapClass mapa) {
map = mapa.getMapa();
String mapBuffer = "";
for (int i = 0; i < mapa.getLinhas(); i++) {
for (int j = 0; j < mapa.getColunas(); j++) {
if ((i == robot.getPosX()) & (j == robot.getPosY())){
System.out.print(robot.convertToChar() + " ");
mapBuffer = mapBuffer + robot.convertToChar() + " ";
}
else{
System.out.print(map[i][j] + " ");
mapBuffer = mapBuffer + map[i][j] + " ";
}
}
mapBuffer = mapBuffer + "/n";
System.out.println();
}
return mapBuffer;
}
这个字符串显示在一个swing textArea中:
textArea.append(drawer.draw(robot, map));
谢谢。
【问题讨论】:
-
换行符是
'\n',而不是'/n'。 -
大声笑这样一个愚蠢的错误。谢谢-.-
-
另外 - 为了提高效率,您应该考虑使用 StringBuilder 来构建您的返回字符串。
-
对于独立于平台的交易,您可能希望将
\n替换为%n并返回String.format(mapBuffer)。见How do I get a platform-independent new line character?