練習用にJavaでワードゲームを作っています。英語の 4 文字の単語をすべて含む txt ファイルがあります。それらは長さで区切られています。つまり、最初の文字から始まる 4 文字ごとが単語の最初の文字です。
単語が辞書に存在するかどうかを確認するには、どうすればよいでしょうか?
ファイルを に読み込んでから、メソッドTreeSet
を使用できます。contains
を含む場合、Set
一定時間で実行されます。.toUpperCase()
ケースに関連する問題がないように変換を追加しました。これも簡単に変換できます.toLowerCase()
。
public static void main(String[] args) throws IOException {
final TreeSet<String> strings = new TreeSet<>();
try (final Reader reader = new InputStreamReader(new FileInputStream(
System.getProperty("user.home") + "/Downloads/words.txt"), "UTF-8")) {
final char[] buffer = new char[4];
int numRead = -1;
while ((numRead = reader.read(buffer)) > 0) {
strings.add(new String(buffer, 0, numRead).toUpperCase());
}
}
System.out.println(strings.contains("FLIP"));
System.out.println(strings.contains("JUMP"));
}