场景:您收到了一个包含一天捕获记录的 ascii 文本文件。文件中的每一行都包含一个“冒号分隔”的捕获记录,其中包含三个字段:
CONTESTANTS_NAME:FISH_TYPE:FISH_WEIGHT
例如
PETER:TUNNY:13.3
这表明一位名叫 PETER 的参赛者抓到了一只重 13.3 公斤的 TUNNY。请注意,彼得当天可能钓到了不止一条鱼。
你将如何使用 java 的内置类 Tokenizer 和 HashMap 来解决这个问题?
您的设计应提供以下分析:
- 当天捕获的每种鱼的总重量。
- 每个参赛者捕获的鱼的总重量。
- 按总捕获重量排名的前三名参赛者。
我发布这个的原因是乍一看我有点惊慌,因为我知道任何映射都只包含一个键值对并且不知道如何解决这个问题,因为它有三个字段。我所做的是有两个 HashMap,第一个具有 CONTESTANT-NAME 的键,第二个键是 FISH_NAME 并且能够提供所需的分析:这需要许多循环,我不确定这是否是一种好的编程方式. 如果有人有更好的方法,请告诉我。我只需要逻辑。