Java 特定字符下的字符串格式设置

Java 特定字符下的字符串格式设置,java,Java,我正在制作一个教科书索引器并格式化输出文件。这个词和它的频率之间有句点 所需的文本文件输出: word..............25: word...............3: word...............2: Hello...................9: Goodbye................42: whatever...............17: 我试图让这些行与:对齐,但如果数字超过1位,我就无法在分号下找到它 有人对所需输出的java字符串格式有什么

我正在制作一个教科书索引器并格式化输出文件。这个词和它的频率之间有句点

所需的文本文件输出:

word..............25:
word...............3:
word...............2:
Hello...................9:
Goodbye................42:
whatever...............17:
我试图让这些行与:对齐,但如果数字超过1位,我就无法在分号下找到它

有人对所需输出的java字符串格式有什么想法吗


参考文献中最大的字为23个字符,其频率为1。

< P>因为在注释中,OP尝试使用Strug.Frad,这里是一个要考虑的方法。与其试图让数字与%23d对齐,不如将单词和计数分别对齐

String.format("%-23s%2d:", getWord(), count);
%23d将在23个空格中格式化getWord,左对齐,%2d将右对齐计数

示例输出:

word..............25:
word...............3:
word...............2:
Hello...................9:
Goodbye................42:
whatever...............17:
注意,为了快速起见,我使用了与OP相同的替换方法


首先试着自己解决它,然后如果仍然卡住,把你的尝试写在你的问题中。这涉及到简单的数学和for循环,我相信如果你稍微尝试一下,你会想出一个解决方案或者非常接近的东西。为什么我需要for循环?我正在尝试使用Java的字符串格式函数。到目前为止,我有以下内容:String.format%s%23d:,getWord,count.replace“”,'.+行号;我一直在胡闹,但没有骰子。请确保您用于文本文件的字体是非比例字体,即字母和字符各自占据相同水平空间的字体,否则很难实现下降排列。Courier或Monospace 821 BT就是这样的字体。@DevilsHnd:一般来说,文本文件中的文本与字体无关。请发布您当前的代码,我们可以为您提供解决问题的提示。我们不会给你一个明显的家庭作业问题的答案。