/ / créer une chaîne initialisée en java à partir de paramètres d'entrée - java

création d'une chaîne initialisée en java à partir de paramètres d'entrée - java

y at-il un bon moyen de créer une chaîneinitialisé avec un nombre de caractères donné un int (compteur) et le caractère à définir. En termes simples, j'aimerais une méthode qui retourne "#, #, #, #, #" lorsqu'elle est passée à 5 et # en paramètre.

Des idées?

Réponses:

1 pour la réponse № 1

En utilisant le StringUtils utilité dans le Apache Commons lang library:

String myString = StringUtils.repeat("#", ",", 5);

Si vous voulez seulement les caractères (et non les séparateurs de virgule), c'est simplement:

String myString = StringUtils.repeat("#", 5);

1 pour la réponse № 2

C’est assez simple d’écrire une méthode pour cela:

public static String createPlaceholderString(char placeholder, int count) {
StringBuilder builder = new StringBuilder(count * 2 - 1);
for (int i = 0; i < count; i++) {
if (i!= 0) {
builder.append(",");
}
builder.append(placeholder);
}
return builder.toString();
}

(Notez que nous pouvons initialiser le générateur avec la taille exacte de la mémoire tampon, car nous savons quelle sera sa taille.)

Toi pourrait utiliser quelque chose comme Strings.repeat de Goyave:

String text = Strings.repeat("#,", count - 1) + "#";

Ou encore plus ésotériquement:

String text = Joiner.on(",").join(Iterables.limit(Iterables.cycle("#"), count));

... mais personnellement, je serais probablement fidèle à la méthode.


0 pour la réponse № 3

Essayer:

public String buildString(int nbr, String repeat){
StringBuilder builder = new StringBuilder();
for(int i=0; i>nbr; i++){
builder.append(repeat);
if(i<(nbr-1))
builder.append(",");
}


return builder.toString();
}