当前位置: 首页 > 知识库问答 >
问题:

在Java中用不同数量的空格连接字符串

燕朝明
2023-03-14

我想问是否有一种方法可以根据流式映射的键值使用不同的分隔符或前缀。

这是我的代码:

Map<String, Double> averageScoresPerTask...

String summary="\nAverage         |      "+averageScoresPerTask(Stream.of(courseResults.toArray
                    (new CourseResult[0]))).entrySet().stream()
                    .sorted(Map.Entry.comparingByKey())
                    .map(t->String.format(Locale.US,"%.2f", t.getValue())).collect(Collectors.joining(" |                "))
                    +" | "+String.format(Locale.US,"%.2f",averageTotalScore) +" |    "+mark(averageTotalScore)+" |";

它打印的是什么

Student         | Lab 1. Figures | Lab 2. War and Peace | Lab 3. File Tree | Total | Mark |
Eco Johnny |56              |69              |90              | 71.67         |    D |
Lodbrok Umberto |70              |95              |59              | 74.67         |    D |
Paige Ragnar |51              |68              |57              | 58.67         |    F |
Average         |          59.00 |                77.33 |                68.67 | 68.33 |    D |

学生也有类似的问题,但我的问题是关于平均值的,所以请忽略它们。这是它应该是什么样子。

Student         | Lab 1. Figures | Lab 2. War and Peace | Lab 3. File Tree | Total | Mark |
Eco Johnny      |             56 |                   69 |               90 | 71.67 |    D |
Lodbrok Umberto |             70 |                   95 |               59 | 74.67 |    D |
Paige Ragnar    |             51 |                   68 |               57 | 58.67 |    F |
Average         |          59.00 |                77.33 |            68.67 | 68.33 |    D |

所以“|”是完全对齐的

共有1个答案

端木朝
2023-03-14

您可以指定逗号前后的格式化数字的长度:

String.format(Locale.US, "%14.2f", 59.3)

这将使您的总格式化数为14个字符,其中2个字符将位于逗号之后,1个字符将是逗号本身,这将为逗号之前的部分留下11个字符。数字将右对齐并用空格填充。

现在,您只需要知道每个标题的长度(您可以将其存储在列表中),并调整每个列的总长度。但我认为流不是这里的理想解决方案,我更喜欢一个带有索引计数器的循环,这样您可以按索引访问两个列表(标题列表或其长度以及您想要输出的值列表)。

 类似资料:
  • 问题内容: 因此,我正在尝试解析一些具有多行文本的文本文件。我的工作是遍历所有单词并将其打印出文件。 因此,我阅读了所有行,然后遍历它们,并用空格将每一行分开,如下所示: 现在的问题是,在某些情况下,Java在两个单词之间看不到空格… 我也试图遍历具有空格但Java看不到它的字符串,并返回true。 现在我完全困惑了… 这是代码: 问题答案: 我怀疑您的文字字符类似于non-breakable-s

  • 我需要帮助生成空字符串,特别是没有空格。 我试过这个, 这很有效,但我想要更好的解决方案。因为使用这个,我将不得不对多列使用多个循环。还有别的办法吗?

  • 问题内容: 我有以下内容: 打印出此数组中的所有元素可以得到以下信息: 如何通过单词之间至少有一个空格的要求来拆分元素? 换句话说,我希望我的元素是: 问题答案: 使用对空间分割,即使他们都多。 完整示例:http : //ideone.com/CFVr6N 编辑: 如果您还想在选项卡上拆分,请将正则表达式更改为,它将同时检测空格和选项卡。

  • 我已运行以下脚本来创建一个视图,该视图提供了我想要的结果: 但是我的数据在Match_Account和Full_Account_Number列中有空白。请参阅以下输出: 我希望我的帐号显示为-A100-000或A100-000-000。 要实现这一点,删除该视图上的所有空格的最简单方法是什么? 谢谢

  • 问题内容: 在寻找一种适当的方法来从解析的HTML中修剪出不间断的空间时,我首先偶然发现了Java的spartan定义,至少对此进行了正确的记录。我想避免显式列出适合修剪的字符,因此我假设在Character类上使用Unicode支持的方法将对我有用。 那就是我发现Character.isWhitespace(char)明确排除不间断空格的时候: 它是Unicode空格字符(,或), 但也不是不间

  • 如果给一个字符串,比如“去医学院!”例如,如何仅替换偶数字符?问题是,虽然我的代码处理第一个单词,但单词之间的空格本身算作一个字符,并将第二个单词中的替换搞乱,第二个单词的第一个字母被归类为偶数。 这是我的尝试 这将给出输出“gomd!”(第二个字母正确替换为表示偶数,但第二个单词的第一个字母不应替换为“第一个”不是“偶数”。如何使索引忽略空格? 答案最好不包含数组,只包含Char和String方