Я пытаюсь создать приложение для проверки орфографии.Мой код работает с точки зрения того, что он способен обнаруживать ошибки орфографии, я сделал это с помощью текстового файла, который содержит большое количество слов, чтобы сравнить вводимые пользователем данные для правильного / неправильного написания.Проблема заключается в том, что я пытаюсь реализовать способ дать представление о том, каким может быть неправильное написание, а не просто заявить, что написание неверно.
public class SpellChecker2 {
public static void main(String[] args) throws FileNotFoundException {
Scanner input = new Scanner(System.in);
System.out.println("Please enter a String");
String userWord = input.nextLine();
final String theDictionary = "dictionary.txt";
String[] words = dictionary(theDictionary);
boolean correctSpelling = checking(words, userWord);
if (!correctSpelling) {
System.out.println("Incorrect spelling");
}
else {
System.out.println("The spelling is correct");
}
}
public static String[] dictionary(String filename) throws FileNotFoundException {
final String fileName = "dictionary.txt";
int dictionaryLength = 0, i = 0;
try (Scanner dictionary = new Scanner(new File(fileName))) {
while (dictionary.hasNextLine()) {
++dictionaryLength;
dictionary.nextLine();
}
}
String[] theWords = new String[dictionaryLength];
try (Scanner dictionary = new Scanner(new File(fileName))) {
while (dictionary.hasNextLine()) {
theWords[i] = dictionary.nextLine();
i++;
}
}
return theWords;
}
public static boolean checking(String[] dictionary, String userWord) {
for ( int i =0; i < dictionary.length; i++) {
if (userWord.equals(dictionary[i])) {
return true;
}
}
return false;
}
}
в целом я доволен результатом, что он может обнаружить неправильное написание, но есть ли способ дать предложения для ввода пользователем, когда написание является неправильным.Заранее спасибо.