Espacement de la sortie en Java

Les programmes Java sans interface utilisateur graphique utilisent la ligne de commande d'un ordinateur pour interagir avec l'utilisateur. Il est essentiel que la sortie de la ligne de commande du programme soit correctement formatée et espacée afin qu'elle soit intelligible pour l'utilisateur. Vous pouvez espacer votre sortie manuellement avec des boucles ou via la classe Formatter de Java.

Polices monospaces

Les polices à espacement fixe sont des polices dans lesquelles chaque lettre occupe la même quantité d'espace que les autres lettres de la police. Par exemple, dans une police à espacement fixe, le caractère «i» occupe la même quantité d'espace que le caractère «m». L'exécution de programmes Java dans un environnement avec des polices à espacement fixe, comme la ligne de commande Windows ou le terminal Macintosh, vous permet d'organiser et de formater votre texte en colonnes nettes en comptant le nombre de caractères dans chaque ligne.

Espacement manuel

Le moyen le plus simple d'espacer correctement votre sortie en Java consiste à ajouter un espacement manuel. Par exemple, pour générer trois entiers différents, "i", "j" et "k", avec un espace entre chaque entier, utilisez le code suivant:

System.out.println (i + "" + j + "" + k);

Si les valeurs de «i», «j» et «k» sont respectivement de 25, 6 et 31, le programme sort «25 6 31». Le principal inconvénient de cette méthode est le manque de considération pour le nombre de caractères dans chaque entier. Si vous imprimez trois lignes de colonnes régulièrement espacées, la deuxième colonne n'aura pas la même largeur que les deux premières. Si la ligne suivante contenait les valeurs 6, 8 et 2, les colonnes seraient entièrement désalignées.

Espacement du formateur

La classe Formatter de Java vous permet de formater les données avant leur sortie. Avec le formateur, vous pouvez définir la largeur maximale d'une valeur, et le formateur remplit alors automatiquement la valeur avec des espaces vides pour s'assurer qu'elle est de la même largeur. Si vous sortez plusieurs valeurs avec les mêmes options de formatage, vous pouvez vous assurer qu'elles occuperont le même espace dans la ligne de sortie. La sortie d'un segment de texte formaté est simple - plutôt que d'utiliser «System.out.print ()», utilisez «System.out.format ()». La méthode de format prend deux entrées au lieu de la seule entrée utilisée par la méthode d'impression. La première entrée est une chaîne représentant la mise en forme qui doit être appliquée à la sortie, et la deuxième entrée est la sortie elle-même. Pour imprimer trois valeurs entières avec un maximum de trois caractères dans chacune et un seul espace entre,utilisez le code suivant:

System.out.format ("% 4d", i); System.out.format ("% 3d", j); System.out.format ("% 3d", k); System.out.println ();

Le «% 4» dans la première section de la chaîne de format indique que le programme doit utiliser quatre caractères pour imprimer chaque entier. Si l'entier ne comporte que deux caractères, les deux autres caractères seront des espaces vides. Le "d" dans la chaîne de format indique que la valeur de sortie est un entier décimal. La dernière ligne de code "System.out.println ()" déplace le curseur sur la ligne de code suivante.

Espacement des boucles

La classe Formatting nécessite une connaissance approfondie des chaînes utilisées pour définir le format de sortie. Cependant, vous pouvez à la place utiliser une combinaison de boucles pour obtenir un espacement plus complexe sans avoir besoin de chaînes de format compliquées. Les boucles sont particulièrement utiles lorsque vous essayez d'obtenir un espacement régulier entre plusieurs chaînes. Par exemple, vous pouvez prendre deux tableaux de chaînes et afficher leur contenu dans deux colonnes parallèles à l'aide de deux boucles. La première boucle parcourt les deux tableaux et trouve la longueur de la chaîne la plus longue dans l'un ou l'autre tableau. La deuxième boucle parcourt à nouveau les tableaux. Il imprime la chaîne du premier tableau, puis soustrait la longueur de la première chaîne de la longueur de la chaîne la plus longue dans l'un ou l'autre tableau pour savoir combien d'espaces il doit placer avant la colonne suivante.Le programme imprime ensuite ce nombre d'espaces avec la boucle imbriquée suivante:

pour (int i = 0; i <numSpaces; i ++) {System.out.print (""); }

Après avoir imprimé le nombre correct d'espaces, il imprime la deuxième chaîne. Cela crée deux colonnes de chaînes régulièrement espacées sans avoir besoin du formateur Java.