Je veux pouvoir répéter une chaîne de texte "n" fois:
Quelque chose comme ça -
Chaîne "X", Entrée utilisateur = n, 5 = n, Sortie: XXXXX
J'espère que cela a du sens ... (Veuillez être aussi précis que possible)
str2 = new String(new char[10]).replace("\0", "hello");
note: cette réponse a été initialement publiée par user102008 ici: moyen simple de répéter une chaîne en Java
Pour répéter la chaîne n nombre de fois, nous avons une méthode de répétition dans la classe Stringutils d'Apache commons. Dans la méthode de répétition, nous pouvons donner la chaîne et le nombre de fois que la chaîne doit se répéter et le séparateur qui sépare les chaînes répétées .
Ex: StringUtils.repeat("Hello"," ",2);
renvoie "Bonjour Bonjour"
Dans l'exemple ci-dessus, nous répétons la chaîne Hello deux fois avec un espace comme séparateur. on peut donner n nombre de fois en 3 arguments et n'importe quel séparateur en second argument.
Une simple boucle fera l'affaire:
int n = 10;
String in = "foo";
String result = "";
for (int i = 0; i < n; ++i) {
result += in;
}
ou pour des chaînes plus grandes ou des valeurs supérieures de 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();