我希望我的Java中的String最终成为5的倍数:向它添加X:
示例1:
"ABCDEFGHIJK" // length 11
我想在结尾添加4个“X”:
"ABCDEFGHIJKXXXX" // length 15
示例2:
"ABCDEFGHI" // length 9
我想在结尾添加1“X”
"ABCDEFGHIX" // length 10
我该怎么做?谢谢你的帮助!
编辑:是的我做了一些代码,我忘了把它放在我的问题中
int myInitialAmountOfX = myString.length() % 5;
System.out.println(myInitialAmountOfX);
int myTotalAmountOfX = 5 - myInitialAmountOfX;
对于如何追加感到困惑。
答案 0 :(得分:2)
要找出需要追加的字符数,可以使用
(5-(s.length()%5))
我希望这是自我解释的。
为了附加一个简单的for循环,可以做
for(int i=1;i<=j;i++){
s+="X";
}
但是,对于较大的字符串,您可能希望更喜欢StringBuilder
答案 1 :(得分:1)
类似的东西:
String input = "ABCDEFGHIJK";
while ( input.length() % 5 != 0 )
input += "X";
答案 2 :(得分:-2)
package test;
import java.io.IOException;
import org.apache.commons.lang.StringUtils;
public class PadTest {
public static void main(String[] args) throws IOException {
String str = "Pad Me";
System.out.printf("%-15s[%s]\n", "Original:", str);
System.out.println();
System.out.printf("%-15s[%s]\n", "Left Padded:", StringUtils.leftPad(str, 10));
System.out.printf("%-15s[%s]\n", "Right Padded:", StringUtils.rightPad(str, 10));
System.out.printf("%-15s[%s]\n", "Centered:", StringUtils.center(str, 10));
System.out.println();
System.out.printf("%-15s[%s]\n", "Left Padded:", StringUtils.leftPad(str, 10, "*"));
System.out.printf("%-15s[%s]\n", "Right Padded:", StringUtils.rightPad(str, 10, "*"));
System.out.printf("%-15s[%s]\n", "Centered:", StringUtils.center(str, 10, "*"));
}
}
执行PadTest的输出如下所示。 结果
Original: [Pad Me]
Left Padded: [ Pad Me]
Right Padded: [Pad Me ]
Centered: [ Pad Me ]
Left Padded: [****Pad Me]
Right Padded: [Pad Me****]
Centered: [**Pad Me**]
字体:http://www.avajava.com/tutorials/lessons/how-do-i-pad-a-string-with-spaces-or-other-characters.html