将1-5个字母添加到字符串

时间:2017-05-18 19:51:41

标签: java arrays string

我希望我的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;

对于如何追加感到困惑。

3 个答案:

答案 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