在Java中,如何使用for循环在字符串的末尾添加空格

时间:2018-04-23 15:52:01

标签: java string

我一直在尝试在字符串末尾添加空格。之前,我在整数backSpaces中存储了空格数 但是,当我尝试使用for循环添加空格时,我不断在前面添加空格,或者根本没有空格。 我做错了什么?

 for (int i =0; i < backSpaces; i++) {
     System.out.print(" ");
 }
 System.out.println(string);

3 个答案:

答案 0 :(得分:2)

您只需要在空格之前打印字符串。

System.out.print(str);
for (int i =0; i < 5; i++){
    System.out.print(" ");
}
System.out.println();

我包含System.out.println();以保留旧行为,即打印新行。那样,而不是

string string  string   string    string

你有

string
 string
  string
   string
    string

答案 1 :(得分:0)

代码按顺序执行。在代码之后执行for循环,然后执行print(String)。所以这是空格在你的字符串之前的预期行为。

只需更改顺序,首先打印字符串然后打印空格

System.out.print(myString);
for(i=0; i<myNumberOfSpaces; i++) {
    System.out.print(" ");
}

但如果您有问题需要自己解决,我强烈建议您阅读有关算法的教程,然后阅读有关Java的教程。

答案 2 :(得分:0)

您应该使用stringBuilder进行字符串连接,因此请随意使用此方法,它将返回字符串加上您的空格数

private String addSpaces(String string,int spaces){
    StringBuilder stringBuilder = new StringBuilder(string);
    for (int i = 0; i < spaces; i++) {
        stringBuilder.append(" ");
    }
    return stringBuilder.toString();
}

在程序中它的运行如此

System.out.println("|"+addSpaces("ThisIsMyString", 5)+"|");

输出

|ThisIsMyString     |