La méthode la plus simple, en Java pur et sans dépendances, est la suivante :
new String(new char[generation]).replace("\0", "-")
Remplacer génération avec le nombre de répétitions, et le "-" avec la chaîne (ou le caractère) à répéter.
Tout ce que cela fait est de créer une chaîne vide contenant n nombre de caractères 0x00, et la méthode intégrée String#replace fait le reste.
Voici un exemple à copier et à coller :
public static String repeat(int count, String with) {
return new String(new char[count]).replace("\0", with);
}
public static String repeat(int count) {
return repeat(count, " ");
}
public static void main(String[] args) {
for (int n = 0; n < 10; n++) {
System.out.println(repeat(n) + " Hello");
}
for (int n = 0; n < 10; n++) {
System.out.println(repeat(n, ":-) ") + " Hello");
}
}
2 votes
Question connexe - stackoverflow.com/q/1235179/596361 - traite également des chaînes répétitives
0 votes
Mise à jour : désormais intégré à Java 11+. Voir Réponse de Naman .