我一直在尝试在字符串末尾添加空格。之前,我在整数backSpaces
中存储了空格数
但是,当我尝试使用for循环添加空格时,我不断在前面添加空格,或者根本没有空格。
我做错了什么?
for (int i =0; i < backSpaces; i++) {
System.out.print(" ");
}
System.out.println(string);
答案 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 |