gpt4 book ai didi

java - 使用String.format将不同大小的对象放置在特定位置

转载 作者:行者123 更新时间:2023-12-01 05:55:17 27 4
gpt4 key购买 nike

我有一堆数据需要美化和输出。我当前使用的代码是:

String.format("%1s" + "%7d" + "%17d" + "%18d" + "\n", string, int, int, int);

我的第一个文件的输出结果是:

2006-09-16 09:00:01      1                0               501
2006-09-16 08:15:00 0 4 401
2006-09-15 07:05:15 0 3 301

字符串始终是该长度,但问题出在接下来的两个整数上,因为它们的长度可以是 1 或 2。

当我使用其他文件时,我得到:

2006-09-29 00:01:01     36               19               600
2006-09-30 21:00:00 9 33 599
2006-09-28 05:16:00 15 6 599

后两行向左移动 1 个空格。是否可以使无论整数的长度如何,它们始终出现在同一位置,从而消除发生的移位因子?

最佳答案

在 Eclipse 中尝试了以下代码:

public class StringFormatting
{
public static void main(String[] args)
{
System.out.println(String.format("%1s" + "%7d" + "%17d" + "%18d" + "\n", "2006-09-29 00:01:01", 36, 19, 600));
System.out.println(String.format("%1s" + "%7d" + "%17d" + "%18d" + "\n", "2006-09-30 21:00:00", 9, 33, 599));
System.out.println(String.format("%1s" + "%7d" + "%17d" + "%18d" + "\n", "2006-09-29 00:01:01", 15, 6, 600));
System.out.println(String.format("%1s" + "%7d" + "%17d" + "%18d" + "\n", "2006-09-29 00:01:01", 36, 19, 600));
}
}

我得到了正确对齐的格式化输出:

2006-09-29 00:01:01     36               19               600

2006-09-30 21:00:00 9 33 599

2006-09-29 00:01:01 15 6 600

2006-09-29 00:01:01 36 19 600

也许 Eclipse 控制台窗口在这里做了正确的工作。打败了我...

关于java - 使用String.format将不同大小的对象放置在特定位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3221476/

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