2014-09-23 106 views
-1

我的程序中有一點missbehaviour。在String對象中存儲/ n。 Java

他的一個方法應該建立一個字符串,然後將其返回以顯示在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; 
} 

此字符串顯示在擺動textarea的搭配:

textArea.append(drawer.draw(robot, map)); 

感謝。

+9

替換它。換行符是''\ n'',而不是''/ n''。 – dasblinkenlight 2014-09-23 21:19:36

+0

哈哈,這樣一個愚蠢的錯誤。謝謝-.- – Diedre 2014-09-23 21:20:51

+2

另外 - 爲了提高效率,你應該考慮使用StringBuilder來建立你的返回字符串。 – 2014-09-23 21:23:56

回答

1

問題是在這裏mapBuffer = mapBuffer + "/n";您正在追加mapBuffer/n字面值。如果你想要換行,你應該用\n

+0

如前所述,感謝所有這些愚蠢的錯誤而沒有判斷,我不相信,我沒有看到,經過很多時間後認爲這是一個擺動問題... – Diedre 2014-09-25 23:58:44