web-dev-qa-db-fra.com

Comment répéter la chaîne "n" fois en java?

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)

17
user2849489
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

23
livanek

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.

Cliquez ici pour un exemple complet

10
sandeep vanama

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();
7
Erik Allik