0

私は多くのことを試してきましたが、助けを求める準備ができています。これが十分な情報でない場合は、お知らせください。Scanner、 、などを試してみましたが、BufferReader投稿を検索してもうまくいきませんでした。

words.txtsrc ディレクトリにファイルがあります。

    java.io.File をインポートします。
    import java.util.ArrayList;
    java.util.Random をインポートします。
    java.util.Scanner をインポートします。


    /*
     * 秘密の単語をランダムに取得および設定するクラス
     */

    public class secretWord {
        プライベート ArrayList theWordList;
        プライベート スキャナー スキャナー; //ファイルを配列に読み込むために使用
        プライベート ランダム ランダム。//ランダムな配列要素を選択するための乱数インデックスを生成します
        プライベート int randomIndex; //生成されたランダムなインデックスを保持します
        ArrayList theSecretWord= new ArrayList(); // プログラムで使用するために char[] に変換された合言葉
        文字列 tempSecretWord; //文字列として選択された合言葉

        //コンストラクター: メソッドを実行して単語の配列リストを作成し、秘密の単語のランダムな要素を選択します
        public secretWord(){
            createArray();
            getSecretWord();
        }
        // ファイルから単語の ArrayList を作成します
        プライベートボイド createArray(){
            theWordList= new ArrayList();
            文字列ファイル= getClass().getResource("words.txt").getPath();
            ファイル f= 新しいファイル(ファイル);
            試す{
            スキャナースキャナー=新しいスキャナー(f);

            while(scanner.hasNext()){
                theWordList.add(scanner.nextLine());
            }

            }キャッチ(例外e){
                e.printStackTrace();
            }最後に{
                スキャナー.close();
            }
        }
        //合言葉として使用する乱数を ArrayList から選択します
        プライベートボイド getSecretWord(){
            ランダム=新しいランダム();
            randomIndex= random.nextInt(theWordList.size());
            theSecretWord.add(theWordList.get(randomIndex).toUpperCase());
        }
        // secretWord を削除し、別のプレイ用に新しいものを取得します
        ボイドリフレッシュワード(){
            theSecretWord.clear();
            getSecretWord();
        }
    }
4

2 に答える 2

0

代わりに次のコード行を使用してください。

String file= getClass().getResource("words.txt").getFile();

パスとファイルの違いに注意してください。Java クラス名は大文字で始めてください。これは規則です。

于 2013-07-12T16:30:05.283 に答える