0

簡単に言うと、gameplayWord はハングマン ゲーム用の単語のリストからランダムに決定された単語です (この場合は簡単な単語ファイル)。easyContentList は、そのファイル内のすべてのデータの ArrayList です。ファイルは 2 列で、最初の列 - 使用できる単語、2 番目の列 - 単語が使用された回数を表す数値です。(初期ファイルでは 0) ゲームの反復ごとに、この数を追跡する必要があります。easyFileUpdateList は、クラス レベルで宣言された String ArrayList です。問題は、これが基本的に機能しないことです:

public void updateEasyFile(String gameplayWord, ArrayList<String> easyContentList) {

    Integer used = 0; // represents used word count
    String strUsed = ""; 

    for (int i = 0; i < easyContentList.size() - 1; i++) {
        String oneLine;
        oneLine = easyContentList.get(i);
        tokenizer = new StringTokenizer(oneLine);

        String firstToken = tokenizer.nextToken();

        if (firstToken.equals(gameplayWord)) {
            used = Integer.parseInt(tokenizer.nextToken());
            used++;
            strUsed = used.toString();
            easyFileUpdateList.add(gameplayWord + "    " + strUsed + "    " + "TODO");
        }
        if (!firstToken.equals(tokenizer.nextToken())) // add the first token of every line except the first
            easyFileUpdateList.add(oneLine);        
    }

    try {

        PrintWriter printWriter = new PrintWriter(new FileOutputStream(new File("hmeasy.txt")));

        for (String oneLine : easyFileUpdateList) {
            printWriter.println(oneLine);
        }
        printWriter.close();
    }
    catch (FileNotFoundException fnfe) {
        fnfe.printStackTrace();
    }
}

アップデート

ありがとう、ハッシュセットを調べてみます。もう少し明確にさせてください。私はまだ完全にはフォローしていません。

正しい、ファイルはあなたが言ったようになるので、単語が犬、猫、霧の場合、ファイルは次のようになります。

dog    0
cat    0
fog    0

ゼロの 3 番目の列があります。これは TODO の目的ですが、後で心配します。

私が抱えている問題は正しいです。単語を含む新しいエントリを追加し、2 番目の列に 1 を追加するだけです。したがって、フォグがランダムに 3 回続けて選択され、このメソッドが実行されると、次のようになります。

dog    0
cat    0
fog    1
dog    0
cat    0
fog    1
fog    1
dog    0
cat    0
fog    1
fog    1
fog    1

私が探しているのは: 最初のラウンド:

dog   0
cat   0 
fog   1

第 2 ラウンド:

dog   0
cat   0
fog   2

等...

単語がランダムに選択されるたびに、ファイル内の番号を更新する必要があります。

4

2 に答える 2

0

ありがとう、ハッシュセットを調べてみます。もう少し明確にさせてください。私はまだ完全にはフォローしていません。

正しい、ファイルはあなたが言ったようになるので、単語が犬、猫、霧の場合、ファイルは次のようになります。

dog    0
cat    0
fog    0

ゼロの 3 番目の列があります。これは TODO の目的ですが、後で心配します。

私が抱えている問題は正しいです。単語を含む新しいエントリを追加し、2 番目の列に 1 を追加するだけです。したがって、フォグがランダムに 3 回続けて選択され、このメソッドが実行されると、次のようになります。

dog    0
cat    0
fog    1
dog    0
cat    0
fog    1
fog    1
dog    0
cat    0
fog    1
fog    1
fog    1

私が探しているのは: 最初のラウンド:

dog   0
cat   0 
fog   1

第 2 ラウンド:

dog   0
cat   0
fog   2

等...

単語がランダムに選択されるたびに、ファイル内の番号を更新する必要があります。

于 2015-04-01T14:29:04.193 に答える