java英语单词查询,输入一个单词根据字典查询单词意思

您所在的位置:网站首页 需要帮助的的英文单词 java英语单词查询,输入一个单词根据字典查询单词意思

java英语单词查询,输入一个单词根据字典查询单词意思

2024-07-06 01:11| 来源: 网络整理| 查看: 265

输入一个单词,可以查询单词意思,使用了字典

算法思想:字典文件读取后按单词长度进行了分组,单词查询时也是按照单词长度

选择对应的单词组进行查询,查询效率高

使用单词库:https://wenku.baidu.com/view/503b1318b14e852459fb57b0.html,转换成txt进行读取

读取文件输出遇到的错误总结:

1.读txt文件第一行会乱码;

方案:将txt转换成UTF-8无BOM编码格式,使用超级文本编辑器UltraEdit另存转换

2.eclipse读取中文输出乱码

方案:将eclipse文本格式设置为UTF-8格式,项目project-properties-resource

不足:单词库不足,单词语义解释不全

使用java编程:

package wordQuery; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Scanner; import java.util.TreeMap; public class WordQuery { public static void main(String[] args) throws IOException { // TODO Auto-generated method stub Scanner sc=new Scanner(System.in); while(true) { System.out.println("Please enter Englishword,If want end please input ending!!!"); String wordin=sc.nextLine(); if(wordin.equals("ending!!!")){break;} else { Map dic=readDictionary(); Word word=findWord(wordin,dic); if(word==null) { System.out.println("no such word,please input again"); } else System.out.println(word); } } sc.close(); } //从txt读入字典并按长度分组 public static Map readDictionary() throws IOException{ File file=new File("dic\\EnglishUTF-8noBOM.txt"); List list=new ArrayList(); list=read(file); Map wordmap=dividMap(list); return wordmap; } //从txt读入字典 public static List read(File file) throws IOException{ List list=new ArrayList(); BufferedReader in=new BufferedReader(new FileReader(file)); String words; while((words=in.readLine())!=null) { //System.out.println(words); String[] str=words.trim().split(" "); Word wordObject=new Word(str[0],str[1],str[2]); list.add(wordObject); } in.close(); return list; } //按单词长短进行分组,单词是一个对象包含单词、拼读、词属性、含义 public static Map dividMap(List possibleWord){ Map wordmap=new TreeMap(); for(int i=0;i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3