java - 如何在 Java 中右对齐控制台输出的单列

标签 java

我被要求创建一个程序,从文本文件中获取项目并将它们显示在格式为“姓氏,名字邮政编码”的列表中,其中邮政编码全部在右侧对齐,姓氏和名字仅分开由逗号和空格组成。

我可以毫无问题地列出所有内容,我遇到的唯一问题是对齐邮政编码。

目前这是我为输出格式编写的内容:

System.out.printf("%s, %s %s\n", fileList.get(lastName), fileList.get(i), fileList.get(zipCode));

我的输出是这样的(如预期):

Baron, Steven 84521
Chill, Robert 63258
Blanthony, Stacy 84815
Wick, John 78412
Yule, Katherine 42136

(等)

这是我想要的样子:

Baron, Steven    84521
Chill, Robert    63258
Blanthony, Stacy 84815
Wick, John       78412
Yule, Katherine  42136

我在想也许我可以做一些事情,计算从姓氏一直到邮政编码的字符总数,然后从姓氏和邮政编码之间的大量空格中减去该字符总数,但我没有不知道如何做到这一点,因为它会在字符串和整数之间跳跃。另外,我想有一个我不知道的更简单的解决方案。

感谢任何帮助!

谢谢,

C冷却液

最佳答案

得到了关于这个问题的回复,并得到了一个可能会在未来帮助其他人的答案!这取决于设置以不同方式使用的数组,但希望这仍然会有所帮助。通过像这样连接名字和姓氏:

String lastNameAndFirstName = (lastName + ", " + firstName);

您可以通过将这些变量设置为宽度由您确定的单列来控制它们的总宽度。因此,您可以只使用两列,而不是管理三列,并执行以下操作:

System.out.printf(%-20s %s, lastNameAndFirstName, zipCode);

这应该给你一些类似于我上面提供的示例列表的内容:

Baron, Steven    84521
Chill, Robert    63258
Blanthony, Stacy 84815
Wick, John       78412
Yule, Katherine  42136

这样,左侧的名称将左对齐(看起来不错),而右侧的数字将右对齐。

希望其他人发现这个有用! :)

关于java - 如何在 Java 中右对齐控制台输出的单列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46145454/

相关文章:

java - 我的代码中的 'this' 关键字指的是什么?

java - 使用 vlc api 在 Javafx 中播放视频

java - 如何检查字符串是否是由逗号分隔的 float ?

java - 通过成员注解获取外部类

java - 哪些情况下实际使用了finalize()?

java - 如何在表格中将 URL 显示为可点击的 URL 并允许它们在默认浏览器中打开?

带有 Apache HttpClient 的 Java 客户端连接到 Druid

java - 想要在 Windows 10 中进行线程转储吗?

java - 更改大小后 GUI 将无法加载

java - 尝试在 JTextAreaInterface 中显示 JSON (asText) 输出