0
votes

Java, interpolez n fois la même variable avec string.format

Je voudrais interpoler les mêmes variables n fois à l'aide de String.Format Méthode.

Par exemple, avec P>

System.out.println(interpolated)
// " hi hi hi hi "


3 commentaires

Essayez string.format ("% S% S% S% S", valeur, valeur, valeur, valeur)


Vous pouvez également essayer d'utiliser une boucle pour la boucle.


@Daniele n'a pas de manière plus propre?


6 Réponses :


0
votes

Si vous utilisez Java 11, vous pouvez utiliser répéter () code> méthode comme: xxx pré>

pour obtenir une chaîne interpolée que vous pouvez également utiliser MessageFormat CODE> Classe: P>

String interpolated = MessageFormat.format("{0}, {0}, {0}", "hi")


2 commentaires

J'ai besoin d'interpolation pour utiliser cette chaîne, pas pour l'impression seulement


@Tommasoballardini Mise à jour avec MessageFormat.Format Méthode



1
votes

Vous pouvez le faire (tout en cloché en termes d'occurrence): xxx

Vous pouvez le variabiliser de cette manière: xxx

Et utilisez-le: xxx


0 commentaires

0
votes

Vous pouvez utiliser ci-dessous Snippet:

String s = "hi";
    int n = 9;
    String interpolated  = String.format("%0"+ n +"d", 0).replace("0", s );
    System.out.println(interpolated );


0 commentaires

1
votes

.. N'a pas de manière plus propre? P>

Eh bien, cela dépend de la façon dont vous voulez l'utiliser; Si vous souhaitez éviter les flux de flux, vous pouvez utiliser l'une des ci-dessous: P>

package sample;
import java.util.Arrays;
import java.util.Formatter;

public class JoinString {
    public static void main(String[] args) {
        String[] v = {"hi","hi","hi","hi"};
        System.out.println(String.join(" ", v));
        System.out.println(Arrays.asList(v));
        Formatter formatter = new Formatter();
        System.out.println( formatter.format("%1$1s %1$1s %1$1s", "hi"));
        formatter.close();
        System.out.format("%1$1s %1$1s %1$1s %n", "hi"); 
    }
}

0 commentaires

0
votes

Vous pouvez utiliser pour boucle. Reportez-vous ci-dessous le code.

    Scanner sc = new Scanner(System.in);
    System.out.println("Enter word : ");
    String str = sc.next();
    System.out.println("times : ");

    int n = sc.nextInt();
    for(int i =0 ; i < n; i++){
        System.out.print(String.format("%s ", str));
    }


0 commentaires

0
votes

Vous pouvez spécifier des positions d'argument pour les jetons de format, dans ce cas, vous utiliseriez la même position pour tous les jetons:

String interpolated = String.format(" %1$s %1$s %1$s %1$s ", value);


0 commentaires