2016-03-25 11 views
0

私はコンピュータがtxtファイルからランダムに5文字の単語を選ぶ単語推測ゲームを書いています。推測が正しくない場合、プレーヤーは5文字の単語を推測します。コンピュータは、「秘密の」単語と共通する推測の文字数を計算します。Java Wordの推測ゲームの有効な単語

単語が「辞書」(許容される単語のtxtファイル)にあるかどうかを確認する方法はありますか?

// is word in the dictionary? 
public boolean isValidWord(String word) { 
    //see if string inputted is in the dictionary 

} 
+1

今後、この問題を解決するための最善の努力をしてください。 –

+0

本当にわかりましたが、私はまだJavaを使い慣れておらず、少し空白の画面を見ていて、質問を投稿する時間だと決めました。ありがとうございました! –

+0

悪い試みでも、試みようとするよりも優れています。そうでなければ、どのような前提が間違っているかも知っていますか?そうでないと、実行中のロジックやコンパイルのエラーをどのように知ることができますか?また、この情報は宿題に関するこのサイトで必要とされ、これは宿題や家事のためであるかどうかにかかわらず当てはまります。 –

答えて

1

これを行うための複数の方法があります。 一つは、あなたが、一度辞書で読み、次のようにメモリに保持し、次に単語が

Scanner scanner=new Scanner("FileNameWithPath"); 
List<String> list=new ArrayList<>(); 
while(scanner.hasNextLine()){ 
    list.add(scanner.nextLine()); 
} 
であるかどうかを確認するために検索を行うことができるということです BufferedReader

または同様に:

BufferedReader in = new BufferedReader(new FileReader("path/of/text")); 
String str; 

List<String> list = new ArrayList<String>(); 
while((str = in.readLine()) != null){ 
    list.add(str); 
} 

今、あなたの方法は、リスト内の文字列での簡単なチェックです。

+0

私は既に、ArrayListにすべての単語を読み込むように設定されたバッファードリーダーを持っているので、スキャナーが必要ですか? –

+0

いいえ、それだけでも動作します。 – chsbellboy

+0

私はスキャナを使用せず、代わりにBufferedReaderを設定します。 –

1

java8の新機能を使用してください!

// read all lines 
return !Files.lines(Paths.get(fileName)) 

    // search matches 
    .filter(w -> w.equals(word)) 

    // any hit? 
    .findAny() 
    .isEmpty(); 
+0

ありがとうございますが、これは宿題の割り当てであるため、Java 8を使用することはできません。 –

関連する問題