gpt4 book ai didi

java - 如何在控制台中使用 ASCII 创建表?

转载 作者:IT老高 更新时间:2023-10-28 20:56:36 24 4
gpt4 key购买 nike

我想整理这样的信息:

信息是用单元格组织的,而使用 System.out.println 信息会非常困惑。

or this

最佳答案

您可以使用 System.out.format()System.out.printf() (printf 在内部简单地调用 格式 所以这两种方法给出相同的结果)。

您将在下面找到将文本左对齐并用空格填充未使用位置的示例。使用%-15s可以实现String左对齐,意思是:

  • % 保留(占位符)
  • 15 字符的“位置”
  • s 的 String 数据类型
  • - 并从左侧开始打印。

如果您想处理 digits,请使用 d 后缀(如 %-4d)来表示最多 4 位数字,这些数字应放置在列。

BTW printf 不会在打印数据后自动添加行分隔符,所以如果我们想将光标移动到下一行,我们需要自己做。我们可以使用 \r\n,或者让 Formatter 使用 生成依赖于操作系统的行分隔符(如 Windows \r\n) >%n(注意:这个“占位符”不需要任何数据作为参数,Java 会根据操作系统提供正确的序列)。

您可以在 documentation of Formatter class 找到有关支持的语法的更多信息.

String leftAlignFormat = "| %-15s | %-4d |%n";

System.out.format("+-----------------+------+%n");
System.out.format("| Column name | ID |%n");
System.out.format("+-----------------+------+%n");
for (int i = 0; i < 5; i++) {
System.out.format(leftAlignFormat, "some data" + i, i * i);
}
System.out.format("+-----------------+------+%n");

输出

+-----------------+------+
| Column name | ID |
+-----------------+------+
| some data0 | 0 |
| some data1 | 1 |
| some data2 | 4 |
| some data3 | 9 |
| some data4 | 16 |
+-----------------+------+

关于java - 如何在控制台中使用 ASCII 创建表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15215326/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com