0

練習用にJavaでワードゲームを作っています。英語の 4 文字の単語をすべて含む txt ファイルがあります。それらは長さで区切られています。つまり、最初の文字から始まる 4 文字ごとが単語の最初の文字です。

単語が辞書に存在するかどうかを確認するには、どうすればよいでしょうか?

4

1 に答える 1

2

ファイルを に読み込んでから、メソッド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"));
}
于 2013-03-30T11:12:47.670 に答える