在 Java 中打印表格
要在 Java 中以表格结构打印任何信息,我们可以使用 java.io.PrintStream
类的 printf()
或 format()
方法。
在 Java 中使用 printf()
/println()
将列表打印为表格
printf(format, arguments)
方法提供字符串格式。我们可以使用格式模式指定格式规则,规则以%
开头。
这里我们有一个 POJO 类 Student
具有基本属性,如 id
、name
、age
和 grade
以及 TestExample
类,我们在其中创建学生的 List
并将该信息打印在表格中格式。
格式化字符串由文字和格式说明符组成,其中包括此序列中的标志、宽度、精度和转换字符。例如%[flags][width][.precision]conversion-charcater
。括号中给出的说明符是可选的。printf
内部使用 java.util.Formatter
来解析格式字符串并输出它。
conversion-character
决定了字符串的格式。这里我们使用了两个常见的,s
、d
和 c
。s
格式化字符串,而 d
格式化十进制整数,而 c
的结果是一个 Unicode 字符。因此,在此代码中,我们使用了宽度和转换字符的组合来将给定学生的数据格式化为表格。
方法 printf("%10s %20s %5s %5s", "STUDENT ID", "NAME", "AGE", "GRADE")
具有格式说明符来格式化传递的参数。因此,例如,%10s
用指定的字符数格式化字符串并右对齐它。println()
方法在打印结果后将光标移动到下一行。
方法 format("%10s %20s %5d %5c",student.getId(), student.getName(), student.getAge(), student.getGrade())
也有格式说明符和 getter 方法学生类来获取属性的值。
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;
}
}
输出:
-----------------------------------------------------------------------------
STUDENT ID NAME AGE GRADE
-----------------------------------------------------------------------------
S101 John 8 4
S102 Leo 10 6
S103 Mary 5 2
S104 Lisa 6 3
-----------------------------------------------------------------------------
在 Java 中使用 System.out.format()
将列表打印为表格
java.io 包
为 PrintStream
类提供了两种用于替换 print
和 println
的方法。这些方法是 format()
和 printf()
并且是等效的。在 format(String format, Object... args)
中,格式指定要使用的格式,args
,即使用此格式打印的参数列表。
在这里,我们创建了一个 String
数据类型的二维数组;此时未指定 4 行和列。它只是意味着我们声明了一个由 4 个数组组成的数组。然后,我们用一个 String 对象初始化每一行。
我们为 table
中的每一行运行一个 for 循环,这是一个多维数组。对于每一行,我们使用 System.out.format()
为每一行指定格式化模式来格式化该行。
这里 %15s
表示右对齐的字符串,宽度为 15,%n
是平台特定的行分隔符。
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);
}
}
}
输出:
Apple Banana Papaya
Chicken Mutton Fish
Carrots Beans Cabbage
Candy Cake Bread
相关文章
Java 中的计数器
发布时间:2023/11/16 浏览次数:177 分类:Java
-
它描述了 Java 中计数器变量的使用今天我们将讨论 Java 中的 counter 变量。在接下来的部分中,我们将看到如何使用 counter 变量。
Java 中 static 变量和 final 变量之间的区别
发布时间:2023/11/16 浏览次数:143 分类:Java
-
它显示了 Java 中静态变量和最终变量之间的区别。此外,将通过代码示例讨论这两个变量的使用。本文展示了 static 和 final 关键字之间的区别。让我们以表格格式和工作示例讨论差异。
在 Java 中设置 JAVA_HOME 变量
发布时间:2023/11/16 浏览次数:149 分类:Java
-
本文介绍如何在 Java 中设置 java_home 变量。在本文中,我们将学习如何在 windows 中设置 JAVA_HOME 变量。Java_Home 是一个引用变量,
在 Java 中强制转换变量
发布时间:2023/11/16 浏览次数:100 分类:Java
-
本文介绍如何在 Java 中强制转换变量。本文介绍如何在 Java 中强制转换变量或将变量转换为另一种类型。转换用于在编程语言中将一个值/变量转换/转换为另一种类型。
如何在 Java 中获取用户输入
发布时间:2023/11/16 浏览次数:160 分类:Java
-
本文介绍了在 Java 中获取用户输入的最简单方法。在本文中,我们将讨论在 Java 中获取用户输入的最佳方法。虽然有很多方法,但其中一些方法已经被废弃,因此我们将避免使用它们。
在 Java 中初始化布尔变量
发布时间:2023/11/15 浏览次数:83 分类:Java
-
本文介绍如何在 Java 中初始化布尔变量。在 Java 中,Boolean 是包装原始数据类型 boolean 类型的包装类。
使用 Java 中的 printf() 方法打印布尔值
发布时间:2023/11/15 浏览次数:93 分类:Java
-
本文介绍了在 Java 中打印布尔值的 printf() 方法。本文介绍了在 Java 中打印布尔值的 printf() 方法。Boolean 是 Java 中的一种数据类型,它包含 true 或 false 文字。
在 Java 中检查输入是否为整数
发布时间:2023/11/15 浏览次数:86 分类:Java
-
本文介绍了如何在 Java 中判断一个输入是否为整数。问题指出,我们需要检查 Java 语言中的输入是否为整数。使用 Java 中的 hasNextInt 方法检查输入是否为整数