-3

所以我有一个字符串/txt 文件: All purchases: blabla : 1 derp : 20 blabla : 1 herp : 30

这只是一个示例,将根据用户输入生成一个真实的文件

所以我需要做的是将具有相似名称的相似字符串(第一部分)组合在一起,使它们看起来像这样:(name) : (number) x(amount of same strings)

例如,让我们获取我们拥有的文件: All purchases: blabla : 1 derp : 20 blabla : 1 herp : 30

解析后它必须如下所示:All purchases: blabla : 1 x2 derp : 20 herp : 30

我已经尝试将最后一个值写到一个变量中并用下一个值检查它,但是如果这些值的顺序不同怎么办?这就是我卡住的地方。

4

1 回答 1

1

由于每个条目都包含三个组件:

[name] : [number] 你可以在这里做一些事情。类似于以下内容:

Scanner s = new Scanner(new File("YourFileHere.txt"));
ArrayList<String> entries = new ArrayList<String>();
while(s.hasNext())
{
    entries.add(s.next() + " " + s.next() + " " s.next());
}

您当然必须删除前导的“所有购买:”,但现在所有内容都在数组列表中,格式为 [name] : [number]
您只需确定每个有多少。从这里您可以对它们进行排序,然后对其进行计数。

于 2012-12-11T17:09:48.820 回答