字符串对象中/n的存储。JAVA

字符串对象中/n的存储。JAVA,java,string,swing,Java,String,Swing,我在节目中有点行为不当 他的方法之一应该构建一个字符串,然后返回该字符串以在JavaSwingGUI中显示。 在它的某些部分,它需要存储一个“换行符”(我不知道正确的名称)“/n” 但是当我在gui中显示这个字符串时,它包含/n,而不是正确地跳行 这有点让人困惑,但通过代码,我认为您可以理解: public String draw(Robot robot, MapClass mapa) { map = mapa.getMapa(); String mapBuffe

我在节目中有点行为不当

他的方法之一应该构建一个字符串,然后返回该字符串以在JavaSwingGUI中显示。 在它的某些部分,它需要存储一个“换行符”(我不知道正确的名称)“/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;
}

谢谢。

问题在这里
mapBuffer=mapBuffer+“/n”
您正在将
映射缓冲区添加到
/n
文本。如果你想要换行符,你应该用
\n

替换它。换行符是
'\n'
,而不是
'/n'
。哈哈,这是个愚蠢的错误。谢谢-还-为了效率,你应该考虑使用String Bu建器来构建你的返回字符串。对于平台独立性交易,你可以通过<代码> %n>代码>来替换<代码> \n>代码>并返回<代码>字符串。格式化(MaPuffic)。如前所述,感谢大家在没有做出判断的情况下犯下了如此愚蠢的错误,我不敢相信我在花了很多时间认为这是swing的问题之后竟然没有看到。。。
textArea.append(drawer.draw(robot, map));