Imprimer un tableau en Java
-
Utiliser
printf()
/println()
pour imprimer une liste sous forme de tableau en Java -
Utilisation de
System.out.format()
pour imprimer une liste sous forme de tableau en Java
Pour imprimer n’importe quelle information dans une structure tabulaire en Java, on peut utiliser la méthode printf()
ou format()
de la classe java.io.PrintStream
.
Utiliser printf()
/println()
pour imprimer une liste sous forme de tableau en Java
La méthode printf(format, arguments)
fournit un formatage de chaîne. Nous pouvons spécifier les règles de formatage à l’aide de modèles de format et les règles commencent par %
.
Ici, nous avons une classe POJO Student
avec des attributs de base tels que id
, name
, age
et grade
et la classe TestExample
où nous créons une List
d’élèves et imprimons ces informations dans un tableau format.
La chaîne de formatage se compose de littéraux et de spécificateurs de format, qui incluent les indicateurs, la largeur, la précision et le caractère de conversion dans cette séquence. Par exemple %[flags][width][.precision]conversion-charcater
. Les spécificateurs indiqués entre parenthèses sont facultatifs. Le printf
utilise en interne java.util.Formatter
pour analyser la chaîne de format et la sortir.
Le conversion-character
détermine comment la chaîne est formatée. Ici, nous avons utilisé deux des plus courants, s
, d
et c
. Le s
formate les chaînes tandis que d
formate les entiers décimaux, et le résultat de c
est un caractère Unicode. Par conséquent, dans ce code, nous avons utilisé une combinaison de largeur et de caractère de conversion pour formater les données de l’étudiant donné dans un tableau.
La méthode printf("%10s %20s %5s %5s", "STUDENT ID", "NAME", "AGE", "GRADE")
a le spécificateur de format pour formater les arguments passés. Ainsi, %10s
, par exemple, formate une chaîne avec un nombre spécifié de caractères et la justifie également à droite. La méthode println()
déplace le curseur sur la ligne suivante après l’impression du résultat.
La méthode format("%10s %20s %5d %5c",student.getId(), student.getName(), student.getAge(), student.getGrade())
possède également les méthodes de spécificateur de format et de lecture de la classe d’élèves pour obtenir la valeur des attributs.
import java.util.ArrayList;
import java.util.List;
public class TableExample {
public static void main(String args[]) {
List<Student> students = new ArrayList<>();
students.add(new Student("S101", "John", 8, '4'));
students.add(new Student("S102", "Leo", 10, '6'));
students.add(new Student("S103", "Mary", 5, '2'));
students.add(new Student("S104", "Lisa", 6, '3'));
System.out.println(
"-----------------------------------------------------------------------------");
System.out.printf("%10s %20s %5s %5s", "STUDENT ID", "NAME", "AGE", "GRADE");
System.out.println();
System.out.println(
"-----------------------------------------------------------------------------");
for (Student student : students) {
System.out.format("%10s %20s %5d %5c", student.getId(), student.getName(), student.getAge(),
student.getGrade());
System.out.println();
}
System.out.println(
"-----------------------------------------------------------------------------");
}
}
class Student {
private String id;
private String name;
private int age;
private Character grade;
Student(String id, String name, int age, Character grade) {
this.id = id;
this.name = name;
this.age = age;
this.grade = grade;
}
public String getId() {
return id;
}
public Character getGrade() {
return grade;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
Production:
-----------------------------------------------------------------------------
STUDENT ID NAME AGE GRADE
-----------------------------------------------------------------------------
S101 John 8 4
S102 Leo 10 6
S103 Mary 5 2
S104 Lisa 6 3
-----------------------------------------------------------------------------
Utilisation de System.out.format()
pour imprimer une liste sous forme de tableau en Java
Le paquet java.io
fournit à la classe PrintStream
deux méthodes utilisées pour remplacer print
et println
. Ces méthodes sont format()
et printf()
et sont équivalentes. Dans format(String format, Object... args)
, le format spécifie la mise en forme à utiliser, args
, qui sont la liste des arguments à imprimer à l’aide de cette mise en forme.
Ici, nous créons un tableau 2D de type de données String
; les 4 lignes et colonnes ne sont pas spécifiées à ce stade. Cela signifie simplement que nous déclarons un tableau de 4 tableaux. Ensuite, nous initialisons chaque ligne avec un objet String.
Nous exécutons une boucle for pour chaque ligne à l’intérieur de la table
, un tableau multidimensionnel de tableaux. Pour chaque ligne, nous formatons la ligne en utilisant System.out.format()
en spécifiant le modèle de formatage pour chaque ligne.
Ici, %15s
signifie une chaîne justifiée à droite avec 15 largeurs, et %n
est un séparateur de ligne spécifique à la plate-forme.
public class Test1 {
public static void main(String args[]) {
String[][] table = new String[4][];
table[0] = new String[] {"Apple", "Banana", "Papaya"};
table[1] = new String[] {"Chicken", "Mutton", "Fish"};
table[2] = new String[] {"Carrots", "Beans", "Cabbage"};
table[3] = new String[] {"Candy", "Cake", "Bread"};
for (String[] row : table) {
System.out.format("%15s %15s %15s %n", row);
}
}
}
Production:
Apple Banana Papaya
Chicken Mutton Fish
Carrots Beans Cabbage
Candy Cake Bread
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn