-3

重複の可能性:
HangMan RandomString クラス

道順は次のとおりです。

RandomStringクラスを作成し、以下を実装します。

  1. ハングマン ゲームで推測されるフレーズを含む、guess_phrases.txt という名前のファイルを作成します。このファイルには、1 行に 1 つの推測フレーズが含まれます。

  2. 文字列値を取得するファイルの名前を受け取るコンストラクター。コンストラクターは、ファイルからフレーズを読み取り、後で使用できるように保存する必要があります。

  3. ファイルからランダムな文字列値を返すメソッド。この値は、ファイル内のすべての推測フレーズが使用されるまで繰り返されるべきではありません。

next を繰り返し呼び出して結果を出力することにより、 next が正しく機能していることをテストするためのメイン メソッドを作成します。繰り返しはありません。また、フレーズはファイルと同じ順序であってはなりません。

ランダムなフレーズを含むguess_phrases.txtというファイルを作成しました。これを実行するとエラーが発生し、ランダムに印刷されません。これはなぜですか? どうすればこれを修正できますか?

これは私がRandomStringクラスに持っているものです

public class RandomString {

    Random random = new Random();
    ArrayList<String> guessPhrases = new ArrayList<String>();
    Scanner fileScan;

    public RandomString(String guessPhrases) throws FileNotFoundException {

        // create a Scanner object to read from the file
        fileScan = new Scanner(new File("guess_phrases.txt"));

        // add all of the phrases from the file into the ArrayList
        while (fileScan.hasNext()) {

            String line = guessPhrases.nextLine(); // get input
            System.out.println(line); // print line
            guessPhrases.add(line); // add line to array list
        }
    }

    public String next() {
        int i = random.nextInt(guessPhrases.size());
        return guessPhrases.get(i);
    }

    public static void main(String[] args) {

    }
}
4

1 に答える 1

1

これは明らかに宿題の質問なので、ヒントを与えます。ファイルが空の場合 (フレーズがない場合)、コードはどうなりますか?

于 2012-12-11T10:16:21.390 に答える