-3

だから私はString/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

各エントリには3つのコンポーネントがあるため、次のようになります。

[名前]:[番号]ここでいくつかのことができます。次のようなもの:

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 に答える