0

ファイルを読み取って値を保存し、後でルックアップを行う必要があります。

たとえば、ファイルは次のようになります。

Gryffindor = 5
Gryffindor.Name.Harry = 10
Gryffindor.Name.Harry.Cloak.Black = 15
and so on...

これらを保存する必要があります(マップを考えていました)。後で、すべてのキャラクターを処理し、このマップを参照してポイントを割り当てる必要があります。ハリーに出会ったとしたら、彼がグリフィンドール出身で、青いマントを着ていることはわかっています。このマップ (または使用するオブジェクト) を次のようにルックアップする必要があります。

Gryffindor.Name.Harry.Cloak.Blue

それは私に何も返さないはずです。次に、名前とルックアップだけにフォールバックする必要があります

Gryffindor.Name.Harry

それは私に10を返すはずです。

同様に、Ron を検索すると (彼が黒い服を着ているとします)、

Gryffindor.Name.Ron.Cloak.Black

何も返さない、フォールバックする

Gryffindor.Name.Ron

再び何もない、フォールバックする

Gryffindor

これは 5 を返すはずです。

このデータを保存して読み取るエレガントな方法は何でしょうか? キーと値のペアを格納するためにマップを使用し、次にそれらを読み取るためにスイッチ ケースを使用することを考えていました。どのようにしますか?

4

1 に答える 1

0

Javaには、記述したデータ形式をProperties実装Mapして読み書きできる組み込みクラスがあります(そのクラスload()store()メソッドを参照してください)。

「上位レベルのキーにフォールバック」機能を実装するものは何もないため、Propertiesインスタンスで目的のキーの下のデータを検索し、同じキーの短いバージョンを連続して試行し続けるメソッドを作成する必要があります。何も見つからない場合。

于 2013-11-09T22:32:47.750 に答える