Java: de l'Impression 2D tableau de chaînes comme justifié à droite de la table
Quel est le meilleur façon d'imprimer les cellules d'un String[][]
tableau comme justifié à droite de la table? Par exemple, l'entrée
{ { "x", "xxx" }, { "yyy", "y" }, { "zz", "zz" } }
doit céder la sortie
x xxx
yyy y
zz zz
Cela semble être quelque chose que l'on devrait être en mesure d'accomplir à l'aide de java.util.Formatter
, mais il ne semble pas non constante la largeur de champ. La meilleure réponse utiliseront une méthode standard pour le remplissage des cellules de tableau, pas l'insertion manuelle des caractères d'espace.
Les odeurs comme des devoirs - la formulation de la question, c'est comme une cession?
Stackoverflow est pour les questions. C'est un ordre. si vous allez essayer et avoir les gens à faire vos devoirs pour vous, au moins l'effort de faire ça ressemble pas à ça =)
1) Ce n'est pas de devoirs. 2) La question est implicite: "comment puis-je" devant le texte de la question.
Avez-vous déjà essayé? Quelle partie avez-vous des problèmes avec?
La partie où certains printf comme méthode dans le JDK le travail dur pour moi, au lieu de saisir manuellement diddling avec des espaces.
Stackoverflow est pour les questions. C'est un ordre. si vous allez essayer et avoir les gens à faire vos devoirs pour vous, au moins l'effort de faire ça ressemble pas à ça =)
1) Ce n'est pas de devoirs. 2) La question est implicite: "comment puis-je" devant le texte de la question.
Avez-vous déjà essayé? Quelle partie avez-vous des problèmes avec?
La partie où certains printf comme méthode dans le JDK le travail dur pour moi, au lieu de saisir manuellement diddling avec des espaces.
OriginalL'auteur Chris Conway | 2008-11-08
Vous devez vous connecter pour publier un commentaire.
En effet, si vous spécifiez une largeur pour les champs, il doit être justifié à droite.
Si vous avez besoin d'avoir une dynamique de rembourrage, des minimes pour la chaîne la plus longue, vous devez parcourir le tableau, l'obtention de la largeur maximale, de générer la chaîne de format avec la largeur calculée à partir de cette maxima, et de l'utiliser pour le format de sortie.
Je suis content de vous a poussé dans la bonne direction! 😉
OriginalL'auteur PhiLho
Voici une réponse, à l'aide générées dynamiquement les chaînes de format pour chaque colonne:
OriginalL'auteur Chris Conway
trouver la longueur de la chaîne la plus longue..
garniture gauche toutes les chaines de caractères avec des espaces jusqu'à ce qu'ils r qu'longueur + 1
Système..les imprimer à l'aide de 2 boucles for imbriquées
OriginalL'auteur Aditya Mukherji