java - 如何获得我的程序的正确输出(字符串格式)?

标签 java printing string-formatting

这个问题的措辞有点糟糕(我知道),但我不知道我要找的东西的确切名称。

我有一个 HashMap,我正在打印 HashMap 的键和值。 所需的输出是这样的:

desired output :)

我实际得到的是:

actual output :(

我当前的代码是这样的:

System.out.println("\n\nTom Hanks' co-stars are");
    costarMovieMap.forEach((k, v)-> System.out.printf("\t%s\t\t\t\t\t\t\t\t in \t\t\t\t\t\t\t%s\n", k, v));

我说的太可怕了吧? 我的猜测是,为了获得所需的输出,我必须指定 %s 从某个行空间或其他位置开始。我不太确定。关于我能做什么有什么想法/建议吗?

ps:呃,有趣的是,我刚刚意识到我在屏幕截图上发现了一个错误。汤姆·汉克斯现在不能成为自己的联合主演了,对吧:)。

最佳答案

输出字符串时,可以将宽度指定为格式的一部分。这将用空格填充字符串,直到满足所需的宽度。

现在,我不打算计算空格,但它可能看起来像这样:

System.out.println("\n\nTom Hanks' co-stars are");
    costarMovieMap.forEach((k, v)-> System.out.printf("\t%20s in     %s\n", k, v));

附注:只要有足够的创意视频编辑,汤姆·汉克斯就可以成为自己的联合主演。

关于java - 如何获得我的程序的正确输出(字符串格式)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42706855/

相关文章:

javascript - toLocaleString、toLocaleDateString 和 toLocaleTimeString 有什么区别?

java - Google editboix 给出 InvalidElementStateException :Element is disabled and so may not be used for actions Command duration

c++11 - QTextDocument::print 中的段错误

java - 打印烧烤条形码

c# - C#打印条码 Crystal 报表

c# - 字符串格式 数字 千位 123K,百万位 123M,十亿位 123B

Java:将字符串变量与 "null"值进行比较时出现问题

java - Spring-Webflux:在没有 block() 的情况下从 Mono 中提取对象

java - 使用React Native构建完整的应用程序后如何获取Java代码?

objective-c - 如何在 Objective-C 中将文本转换为驼峰式大小写?