Java スペルチェック

Sheeraz Gul 2023年10月12日
Java スペルチェック

このチュートリアルでは、Java で単語のスペルをチェックする方法を示します。

Java スペルチェック

多くの図書館では、英語辞書を使用して単語のスペルをチェックできます。 これらのライブラリは、英単語のスペルをチェックするために辞書を作成したくない場合に使用できます。

しかし、辞書用のファイルがあり、それを使用してその辞書を使用して単語のスペルをチェックしたい場合は、Java コードを使用してスペル チェッカーを作成できます。 以下の手順に従って、スペル チェッカーを作成します。

  • まず、辞書ファイルの HashSet を作成します。
  • ユーザーからの入力を受け取るスキャナーを作成します。 入力は文になります。
  • 文を単語に分割し、それらを配列に入れます。
  • for ループを使用して、辞書ファイルの各単語をチェックします。
  • ファイルに単語が含まれている場合、それは正しいです。 そうでない場合、それは正しくありません。

上記の手順に基づいて例を実装してみましょう。 こちら から 84,000 語以上の辞書ファイルをダウンロードしました。 例を参照してください。

package delftstack;

import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;

public class Example {
  public static void main(String[] args) throws Exception {
    Set<String> Demo_Dictionary = new HashSet<>(Files.readAllLines(Paths.get("dictionary.txt")));
    Scanner Demo_Input = new Scanner(System.in);
    System.out.println("Type a sentence to check the spelling/correct words :)");
    String Demo_Sentence = Demo_Input.nextLine();
    String[] Sentence_Words = Demo_Sentence.split(" ");
    for (String Word : Sentence_Words)
      if (Demo_Dictionary.contains(Word))
        System.out.println(Word + " : correct");
      else
        System.out.println(Word + " : incorrect");
  }
}

与えられた辞書から文のスペルをチェックしてみましょう。 出力を参照してください:

Type a sentence to check the spelling/correct words :)
hello this is delftstack the best tutorial site
hello : correct
this : correct
is : correct
delftstack : incorrect
the : correct
best : correct
tutorial : correct
site : correct

上記の文から、辞書には delftstack という単語が含まれていないため、正しくありません。辞書に追加する場合は、dictionary.txt ファイルの末尾に単語を追加します。

著者: Sheeraz Gul
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook