我正在尝试使用\ n来创建字符串列表,但每当我添加多个字符串时,字符串会缩进到前一个字符串的点,因此示例输出将为:
0 hello nain
1 test nain
2 huh nain
我不知道为什么会这样做。这是我创建字符串的代码:
String[] posts = currentTopic.getMessages("main");
//String[] postsOutput = new String[posts.length];
String postsOutput = "0 " + posts[0];
for(int i = 1; i < posts.length; i++){
postsOutput += "\n" + i + " " + posts[i];
//postsOutput[i] = i + posts[i];
}
sc.close();
return postsOutput;
我也尝试将\ n移动到附加的末尾,但结果仍然相同。任何帮助将不胜感激。
由于
答案 0 :(得分:6)
看起来你正处于“\ n”刚下来的系统(换行)并且你错过了所需的回车。
这不应该是你应该关心的事情:line.separator
属性正在调整到主机操作系统,使其行为类似于System.out.println
。
答案 1 :(得分:3)
尝试\ r \ n,即回车和换行。
答案 2 :(得分:2)
我认为这是使用String.format的一个很好的示例,因为%n
始终使用系统特定的行分隔符。在你的循环内写:
postsOutput += String.format("%n%d %d", i, posts[i]);
答案 3 :(得分:1)
您应该使用保存基础系统换行符的属性System.getProperty("line.separator")
。
String newline = System.getProperty("line.separator");
String[] posts = currentTopic.getMessages("main");
//String[] postsOutput = new String[posts.length];
String postsOutput = "0 " + posts[0];
for(int i = 1; i < posts.length; i++){
postsOutput += newline + i + " " + posts[i];
//postsOutput[i] = i + posts[i];
}
sc.close();
return postsOutput;