19

我希望能够重复一串文本“n”次:

像这样的东西-

字符串“X”,
用户输入 = n,
5 = n,
输出:XXXXX

我希望这是有道理的......(请尽可能具体)

4

3 回答 3

24
str2 = new String(new char[10]).replace("\0", "hello");

注意:这个答案最初是由 user102008 在这里发布的:Simple way to repeat a String in java

于 2014-03-17T16:48:10.330 回答
10

为了重复字符串 n 次,我们在 Apache commons 的Stringutils类中有一个 repeat 方法。在 repeat 方法中,我们可以给出字符串和字符串应该重复的次数以及分隔重复字符串的分隔符。

前任:StringUtils.repeat("Hello"," ",2);

返回“你好你好”

在上面的例子中,我们用空格作为分隔符重复了两次 Hello 字符串。我们可以在 3 个参数中给出 n 次,在第二个参数中给出任何分隔符。

点击此处查看完整示例

于 2014-04-30T15:58:06.727 回答
7

一个简单的循环将完成这项工作:

int n = 10;
String in = "foo";

String result = "";
for (int i = 0; i < n; ++i) {
    result += in;
}

或对于更大的字符串或更高的值n

int n = 100;
String in = "foobarbaz";

// the parameter to StringBuilder is optional, but it's more optimal to tell it
// how much memory to preallocate for the string you're about to built with it.
StringBuilder b = new StringBuilder(n * in.length());
for (int i = 0; i < n; ++i) {
    b.append(in);
}
String result = b.toString();
于 2013-10-05T12:56:39.487 回答