Java: formatage de chaîne avec des espaces réservés

Je suis nouveau sur Java et je viens de Python. En Python, nous faisons le formatage de chaîne comme ceci:

>>> x = 4
>>> y = 5
>>> print("{0} + {1} = {2}".format(x, y, x + y))
4 + 5 = 9
>>> print("{} {}".format(x,y))
4 5

Comment répliquer la même chose en Java?

24
demandé sur user1757703 2013-07-09 02:45:35

3 réponses

Le MessageFormat classe ressemble à ce que vous êtes après.

System.out.println(MessageFormat.format("{0} + {1} = {2}", x, y, x + y));
47
répondu rgettman 2013-07-08 22:52:32

Java a une chaîne .format méthode qui fonctionne de manière similaire à ceci. Voici un exemple de comment l'utiliser.{[4] } c'est la référence de documentation qui explique ce que toutes ces options % peuvent être.

Et voici un exemple en ligne:

package com.sandbox;

public class Sandbox {

    public static void main(String[] args) {
        System.out.println(String.format("It is %d oclock", 5));
    }        
}

Cela imprime "c'est 5 oclock".

10
répondu Daniel Kaplan 2017-05-23 12:16:56

Vous pouvez le faire (en utilisant String.format):

int x = 4;
int y = 5;

String res = String.format("%d + %d = %d", x, y, x+y);
System.out.println(res); // prints "4 + 5 = 9"

res = String.format("%d %d", x, y);
System.out.println(res); // prints "4 5"
3
répondu jh314 2013-07-08 22:50:35