我正在尝试将给定单词的同义词存储到public static void main(String args[]) throws ParseException, IOException {
/* Initialization */
List<String> matches = new ArrayList<String>();
HashMap<String, String[]> synonymMap = new HashMap<String, String[]>();
synonmynMap = populateSynonymMap(); //populate the map
boolean found = false;
Scanner in = new Scanner(System.in);
Scanner scanner = new Scanner(System.in);
String input = null;
System.out.println("Welcome To Artifical Intelligence DataBase ");
System.out.println("What would you like to know?");
System.out.print("> ");
input = scanner.nextLine().toLowerCase();
}
中。然后我接受用户输入并检查它是否是单词或其同义词。例如,假设主要词是&#34; bank&#34;它的synonmyns是&#34;安全&#34;,#34; tresury&#34;和&#34;信用合作社&#34;。如果用户输入&#34; bank&#34;,我想输出单词&#34; bank&#34;。如果用户输入&#34;安全&#34;,我仍然希望输出单词&#34; bank&#34;因为&#34;安全&#34;是&#34; bank&#34;的同义词。
这是我的同义词方法
{{1}}
这是我的主要方法
{{1}}
答案 0 :(得分:1)
你的synonymMap应该以其他方式组织,关键是“同义词”,值是它们的共同输出。
所以在你的例子中:
String word = "bank";
String synonymn[] = { "safe", "treasury", "credit union" };
for (String syn : synonymn)
synonymMap.put(syn, word);
然后,当用户输入一个单词时,检查它是否存在于synonymMap中,如果存在,则返回其值:
String syn = synonynMap.get(input);
if (syn != null) return syn;
else return input;
答案 1 :(得分:0)
您可以将同义词[]的每个单词添加为地图的关键字。当然,包含单词和所有其他同义词的同义词数组。我知道必须有更好的方法,但这是我现在能想到的最简单的方法