我正在创建一个视觉词库,它将作为此处显示的淡化版本: https ://www.visualthesaurus.com/
我是一名新程序员,这将是我的第一个项目之一。我正在为我的词库列表使用 Moby Grady 的词库文本文件,但我遇到了问题。
Moby Thesaurus 的格式设置为有一个词根,后跟一个逗号,然后是类似或相关的词,而不是回车符/换行符和另一个词根...
前任。词根,如字,如字,如字
我现在用于查找同义词的技术如下: 1. 输入单词以查找 2. 从第一行开始,将行转换为字符串数组,然后测试 wordToFind 是否在该行中,如果它即,打印该行并搜索更多行以查找 wordToFind。
我已成功打印出包含我的 wordToFind 的每一行,但该行中的每个单词都不是同义词的良好匹配。我要求任何有这种经验的人帮助我想出一种方法来获得与我的 wordsToFind 更相似的单词。
import java.io.BufferedReader;
import java.io.Console;
import java.io.File;
import java.io.FileReader;
import java.util.Arrays;
import java.util.Scanner;
public class Thesaurus {
File godFile = new File("C:\\Users\\Joe\\Documents\\moby.txt");
Console console = System.console();
String inputWord;
Scanner reader;
void bigBang() {
try (Scanner inputScanner = new Scanner(new BufferedReader(
new FileReader(godFile)))) {
Scanner reader = new Scanner(System.in);
System.out.print("Synonyms for word: ");
String theWord = reader.next();
one: while (inputScanner.hasNextLine()) {
String line = inputScanner.nextLine();
String[] splitLine = line.split(",");
for (String word : splitLine) {
if (word.equalsIgnoreCase(theWord)) {
System.out.println("Word Found!");
System.out.println("Synonyms for " + theWord + ":");
System.out.print((Arrays.toString(splitLine)));
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}