Aligner la sortie printf en Java
J'ai besoin d'afficher une liste d'articles avec leurs prix à partir d'un tableau et souhaitez aligner les prix. J'ai failli avoir de travail, mais a besoin d'améliorations. Ci-dessous le code et la sortie. Toutes les idées sur la façon de faire de tous les tarifs alignés? Jusqu'à présent peu de travail, mais certains ne le font pas. Merci à l'avance.
//for loop
System.out.printf("%d. %s \t\t $%.2f\n",
i + 1, BOOK_TYPE[i], COST[i]);
de sortie:
1. Newspaper $1.00
2. Paper Back $7.50
3. Hardcover book $10.00
4. Electronic book $2.00
5. Magazine $3.00
source d'informationauteur user1781482 | 2013-04-12
Vous devez vous connecter pour publier un commentaire.
Vous pouvez essayer l'exemple ci-dessous. N'utilisez '-' avant de la largeur afin d'assurer retrait gauche. Par défaut, ils seront en droit de retrait; qui peut ne pas convenir à votre but.
Format Des Chaînes De Caractères Syntaxe: http://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html#syntax
Mise En Forme Impression Numérique De Sortie: https://docs.oracle.com/javase/tutorial/java/data/numberformat.html
PS: Cela peut aller d'un commentaire à DwB de réponse, mais je n'ai toujours pas de permissions pour commenter, et donc d'y répondre.
Spécifications de Format pour printf et printf, comme les méthodes de prendre une option de paramètre de largeur.
Ajuster les largeurs de valeurs souhaitées.
Une solution simple qui vient à l'esprit est d'avoir un
String
bloc d'espaces:Lors de l'impression d'une chaîne de caractères, calcul de l'effectif de retrait et de l'ajouter à la fin:
Ce sera l'intermédiaire du nombre de places à la corde, et de les mettre tous dans la même colonne.
Voici une solution possible qui permettra de définir la largeur de la bookType colonne (c'est à dire le format de la bookTypes valeur)
d'après la plus longue bookTypes valeur.
Vous pouvez consulter ce blog pour l'impression formaté texte de couleur sur la console
https://javaforqa.wordpress.com/java-print-coloured-table-on-console/