JAVA电子英汉词典课程设计报告_第1页
JAVA电子英汉词典课程设计报告_第2页
JAVA电子英汉词典课程设计报告_第3页
JAVA电子英汉词典课程设计报告_第4页
JAVA电子英汉词典课程设计报告_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、衣玄卑電大陰世杞$底Cantuiy CollarB. Buiji nkJniY-ftrxify at Pots and TalncairnrnunicEifiiQns课程设计报告课程设计名称Java程序设计专业班 级 学号姓名 指导教师 成 绩 年月曰目录、设计任务与要求11.1 设计任务与要求 11.2选题目的与意义1.、需求分析2.2.1用户需求分析2.2.2开发环境分析.3.、系统设计43.1系统总体设计4.3.2功能模块设计.5.3.3类的设计6.3.4数据库设计 1.0.四、程序实现 12.4.1程序流程图1.2.,4.2 关键算法与技术实现 1.4.4.3类与数据结构实现 29.五

2、、测试运行29.5.1系统测试方案 2.9.5.2 运行结果分析 30.六、设计体会 36.、设计任务与要求1.1设计任务与要求通过本课程设计实践,达到以下目的:(1) 培养学生严谨务实的工作态度,并在老师的指导下,提高分析问题和解 决问题的能力,促进理论联系实际学风养成。(2) 巩固和加深对面向对象程序设计的基本概念、基本理论和实现技术的理解。(3) 掌握Java开发的主要环境与工具,掌握面向对象的常用控件的使用方 法。(4) 初步掌握面向对象系统分析与设计的基本方法和步骤,并能针对简单的实际应用问题进行初步地分析和设计。(5) 掌握Java编程语言,并针对具体应用问题进行编程实现。(6)

3、通过撰写课程设计论文,锻炼学生科技论文写作能力。电子英汉词典功能要求:能够编辑词典库中的信息,能够实现英译汉,汉译英(要考虑一词多义)。该系统主要用于实现英汉互译的功能,先选择是英译汉还是汉译英然后再查询框中查询,该系统会自动弹出匹配信息1.2选题目的与意义我选择电子英汉互译词典这一课题的目的在于巩固所学JAVA语言编辑基本功,掌握Jdk,Editplus,Eclipse,Jcreator 等开发工具的运用,拓宽常用类库 的应用。Java语言是当今流行的网络编程语言,它具有面向对象,跨平台,分 布应用等特点,它贴近自然的语言,而且有利于软件的维护和继承。我们通过 该教学环节与手段,把所学课程及

4、相关知识加以融会贯通,全面掌握JAVA语言的编程思想及面向对象程序设计的方法,为今后从事实际工作打下坚实的基 础。二、需求分析2.1用户需求分析用户需求分析:英汉词典作为一个常用的学习工具,是我们经常要使用的。该 系统能完成一个简单的电子词的功能。该系统主要用于实现英汉互译的功能, 系统拥有自己的数据库。英译汉功能:我们可以先选择让系统进行英译汉功能,然后在查找框中输入 想要查询的英文单词,系统将自动在数据库中查找匹配记录并给出相对应的汉 语丿意思。g汉译英功能:我们可以在系统中选择汉译英功能,然后在查找框中输入想要 查询的汉语意思,系统将自动在数据库中查找匹配记录并给出相对应的英文单 ?词。

5、g备份词库功能:我们可以将现有的词库做一份备份文件存入另一空间,以备 文件丢失时使用。g词汇的添加功能:用户可以添加词库内没有的单词及其解释。添加成功后该 单词将在次库内保存,以便下次查询。g词汇的修改功能;用户可以实现对词库中已有单词及其解释的修改。修改后的 结果将保存在词库中。g词汇的删除功能用户可自行删除词库中已有的单词,同时次单词的解释也将被一同删除(7其他功能:此外,系统还具有帮助和关于等功能,用来辅助用户更方便简洁 的使用电子词典。2.2开发环境分析系统需求分析:本系统是一个采用 Microsoft Access 作为数据库,用JAVA作为开发工具的英汉电子词典,内有英汉词典、汉英

6、词典和备份词库。它不仅可实现英译汉、汉译英的基本翻译功能,还可以让用户根据自己的需要添加、修 改、删除词库,形成自己的词库。(1 )硬件环境内存:2G硬盘空间:250G(2 )软件环境32位XP操作系统。JDK和Jcreator软件环境。三、系统设计3.1系统总体设计电子英汉词典系统包括三个大方面:文件,编辑,其他。文件菜单中包括英译汉,汉译英备份词库。这也是电子词典的最主要功能编辑菜单中包括添加词汇,修改词汇,删除词汇功能。其他菜单中包括帮助和关于。系统总体设计图如下:程序共有五个子函数和一个主函数(1)search是查找函数,用户通过系统提示输入要查找的单词,只要单词库中含有此单词便能找到

7、相应的中文或英文解释,这个查找函数使用的是从头到 尾的线性查找法,虽然查找效率在数据很大时候是无法容忍的,但因为这里涉 及的数据量很小,使用线性查找对系统性能上没有很大影响。(2)add是增加函数,用户可以通过此函数来增加单词库单词的数量(3)modify是修改函数,程序提示用户输入要修改的单词,使用线性查找的 方法找到相应的单词。如果找到,则提示输入新的单词及其解释。(4)delete是删除函数,程序提示用户输入要删除的单词,使用线性查找的 方法找到相应的单词,如果找到,提示用户确认删除,在得到确认后即删除这 个单词的记录。(5) 主程序通过无限循环来接收输入的命令,并且根据命令调用相应的函

8、数处 理。3.2功能模块设计(1)英译汉功能模块说明:可以实现对英文单词的查询功能。 用户文本框中输 入要查询的英文单词。若该单词存在于词库中,则会在文件对话框中显示其词性及中文翻译;若该单词没有存在于词库中,则会弹出警告,说明查无此词。(2)汉译英功能模块说明:可以实现对中文单词的查询功能。 用户文本框中输 入要查询的中文单词。若该单词存在于词库中,则会在文件对话框中显示其一 个或多个对应的英文单词;若该单词没有存在于词库中,则会弹出警告,说明 查无此词(3)备份词库功能模块说明:可以实现对现有词库的备份,可将当前词库存入 用户所设置的任意位置。(4)添加词汇功能模块说明:可以实现对词库的添

9、加。用户可自行输入所添加 的单词及其解释,若添加的是词库中没有的单词,系统在添加成功后提示添加 成功。若添加的是词库中已有的单词,系统会弹出警告,说明此词汇已存在。(5)修改词汇功能模块:可以实现对词库中已有单词的修改。 用户可自行修改 词库中的单词及其解释。若输入的单词不存在于词库中,系统会弹出警告,说 明不存在此单词。(6)删除词汇功能模块:可以删除词库中已有的单词。用户可自行删除词库中 已有的单词,再删除此单词的同时,其解释也会随之被删除,如输入的单词不 存在于词库中,系统用会弹出警告,说明不存在此单词。(7)其他功能模块:在其他中有帮助和关于两项。帮助中是有关于词典的功能 说明,关于中

10、可显示版本信息。3.3类的设计主要类设计:1. Loading 类Loading类主要是要实现登陆界面和按钮监视器执行动作的事件,和数据库的连接。方法功能Load in g()安排登陆界面布局Lia nJie()连接数据库Chaxu n()执行登陆按钮的动作事件De ngLiPa n()判断文本框是否为空2. Register 类Register类主要是实现注册界面和按钮监视器执行动作的事件,和数据库的连接。方法功能Register。安排注册界面布局Lia nJie()连接数据库Chaxu n()执行确定按钮的动作事件De ngLiPa n()判断文本框是否为空3. Kellu 类Kellu类

11、为窗口主界面类,包括菜单栏,工具栏,显示栏,添加监视器执行动作的事件方法功能Kehu()安排界面布局,设置菜单项和工具按钮acti on执行按钮的动作事件Performed ()valueCha nged()下拉列表的监听事件4. ChaXun 类ChaXun类细腻那两个构造方法,分别是实现英汉,汉英查询功能方法功能JingQunEn glishC英译汉的查询ha()JingQun Chi nese汉译英的查询Cha()5. Add 类Add类实现单词的添加功能方法功能Add()设置“添加”窗口界面AddCha()实现和数据库的连接6. Update 类Update类,功能通过单击主窗口界面的

12、更新按钮弹出更新小窗口,输入更新的单词,对相应的解释进行更新。方法功能Add()设置“添加”窗口界面AddCha()实现和数据库的连接7. delect 类delect类,功能通过单击主窗口界面的删除按钮弹出删除小窗口,输入删除的单词进行删除。方法功能delect()设置“删除”窗口界面delectcha()实现和数据库的连接8. help 类hele类,功能通过单击主窗口界面的帮助菜单下的帮助选项又弹出帮助窗口,通过网页显示单词的想过说明,通过单击页面上的超链接来显示另一网页方法功能Help()设置帮助窗口界面Hyperl in kupdate()显示新的URL资源9. Guanyu 类Gu

13、anyu类功能通过单击主窗口界面的帮助菜单下的关于弹出关于窗口,显示词典的使用说明方法功能Guanyu()设置关于窗口界面界面设计思想创建窗体,设计菜单。定义菜单条 JMenu mfile (文件)、medit (编辑)、 mhelp (帮助),菜单子项JMenultem edic (英汉词典)、cdic (汉英词典)、 back_data (备份词库)、quit (退出)、addedit (添加词汇)、modedi (修改 词汇)、deledit (删除词汇)、hhelp (帮助)、about (关于)。通过add()方 法将菜单子项添加到菜单中,并注册监听者。定义一个文件对话框filedi

14、alog_save ,并为之增加适配器。自定义一个面板,实现GUI元素的布局3.4数据库设计Java数据库连接(JDBC)由一组用Java编程语言编写的类和接口 组成。JDBC为工具/数据库开发人员提供了一个标准的API,使他们能够用纯Java API来编写数据库应用程序。然而各个开发商的接口并不完全相同,所以 开发环境的变化会带来一定的配置变化。本系统采用的是Access数据库的连接方式。英译汉词汇表字段名字段类型长度备注yin gwuda ncichar30可为空yi nbiaochar10可为空cixi ngchar10可为空jieshichar50可为空各功能模块E-R图如下:(1)文

15、件模块子E-R图文件模块中主要目的就是要完成英汉互译功能。其中包括英译汉功能模块,汉译英模块功能,备份词库模块功能(2)编辑模块子E-R图编辑模块的主要目的就是要进行单词的添加修改与删除功能(3)其他模块子E-R图其它模块的主要目的就是在用户遇到问题时,在其它中有“帮助”与“关于”两项,“帮助”中有关于词典的功能说明,“关于”可显示版本信息四、程序实现4.1程序流程图分析电子词典的总体情况,划分系统边界,识别系统的数据来源和去处, 确定外部实体,得出系统的顶层数据流程图;然后划分出几个主要的信息管理 功能,本系统的主要数据的工作流包括以下几个方面:英汉词典,汉英词典, 备份词库,添加词汇,修改

16、词汇,帮助。明确各功能之间的联系,绘制出数据流程图,如下图所示:开始结束4.2关键算法与技术实现菜单窗口class DataWindow extends JFrame implementsActionListenertry fis = new FileInputStream(fromfile);int bytesRead; /定义变量来存储输入流中读取出来的文件byte buf = new byte 4*1024;/4K bufferFile tofile = newFile( filedialog_save .getDirectory(), filedialog_save .getFile(

17、);FileOutputStream fos = new FileOutputStream(tofile); while (bytesRead = fis.read(buf)!=-1)fos.write(buf,0,bytesRead);fos.flush();fos.close();fis.close();public void Listwords() throws SQLException/ 实现查询功能Stri ng cn ame,e name;try Class.forName (sun.jdbc.odbc.JdbcOdbcDriver);catch (ClassNotFoundExc

18、eption e)/建立桥接器Conn ecti on Ex1C on =DriverMa nager. getCo nn ection (jdbc:odbc:03,);Stateme nt Ex1Stmt = Ex1Co n.createStateme nt();if (label .getText().equals(输入要查询的英语单词:)ResultSet rs = Ex1Stmt.executeQuery( SELECT * FROM 表 1);while ( rs.next()en ame = rs.getStri ng( 单词);cn ame = rs.getStri ng(解释)

19、;.getText()if (ename.equals( englishtextchinesetext .append(cname+ n);public class Dic public static void main(String args)JFrame. setDefaultLookAndFeelDecorated(true );DataWindow window =new DataWindow();win dow.validate();/ AddWi n add = new AddWi n();public void add()单词的添加public class AddWin exte

20、nds JFrame implementsActionListener JTextField添加汉语解释_文本条,添加英语单词_文本条;JButton addbtn ,cancelbtnConnection Con = null ;Statement Stmt = null ;public void action Performed(Acti on Eve nt e)if (e.getSource()= addbtn )if (添加英语单词_文本条.getText().equals( )|添加汉语解释_文本条.getText().equals()释不能为空!H H + H, 警告JOption

21、Pane. WARNING_MESSAGE );/判断输入框不能为空else try 添加();catch (SQLException ee)else if (e.getSource()= cancelbtn )dispose。;while (boo=rs.next()=true )en ame=rs.getStri ng(单词);cn ame=rs.getStri ng(解释);if (en ame.equals(添加英语单词_文本条.getText()敬+ H警告JOptionPane. showMessageDialog (this ,此词汇已存在!,JOptionPane. WARNI

22、NG_MESSAGE );breakif(boo= false )String s1= ” + 添加英语单词 _文本条.getText().trim()+ ” ,s2=” +添加汉语解释_文本条.getText().trim()+ ;String temp= INSERT INTO 表 1 VALUES ( +s1+ , +s2+ );Stmt .executeUpdate(temp);JOptionPane. showMessageDialog (this ,添加成功!,恭喜,JOptionPane. WARNING_MESSAGE );dispose();Con .close();单词的删

23、除class DeIWi n exte nds JFrame impleme nts Actio nListe ner JTextField删除单词_文本条;JButt on delbt n,can celbt n;Connection Con = n ull;Stateme nt Stmt = n ull;public void action Performed(Acti on Eve nt e)if(e.getSource()=delbt n)if(删除单词一文本条.getText().equals()删除的单词不能为JOptio nPan e.showMessageDialog(this

24、,II II+ II, 警告,JOptio nPa ne.WARNING_MESSAGE);/判断输入框不能为空elsetry删除();catch(SQLException ee) else if(e.getSource()=ca ncelbt n)dispose();while(boo=rs .n ext()=true)en ame=rs.getStri ng(”单词);cn ame=rs.getStri ng(”解释);if(ename.equals( 删除单词 _文本条.getText()String s仁”+ 删除单词 _文本条.getText().trim()+”;String te

25、mp=DELETE FROM表 1 WHERE 单词=+s1;Stmt.executeUpdate(temp);JOptio nPan e.showMessageDialog(this,成功删除记录!,恭喜,JOptio nPa ne.WARNING_MESSAGE);dispose();break;单词的修改class ModifyWinextends JFrame implementsActionListenerJTextField修改英语单词_文本条,修改汉语解释_文本条;JButton modifybtn ,cancelbtn ;Connection Con = null ;State

26、ment Stmt = null ;public void acti on Performed(Act ion Eve nt e)if (e.getSource()= modifybt n )if (修改英语单词_文本条.getText().equals( )|修改汉语解释_文本条.getText().equals()JOptionPane. showMessageDialog (this ,修改的单词或解释不能为空!,警告JOptionPane. WARNING_MESSAGE );/判断输入框不能为空elsetry 修改();catch (SQLException ee)dispose。;

27、if (ename.equals(修改英语单词 _文本条.getText()Stri ng s1= +修改英语单词文本条.getText().trim()+ ”,s2=” + 修改汉语解释 _文本条.getText().trim()+ ”String temp= UPDATE 表 1 SET 解释=+s2+ WHERE 单词=+s1;Stmt .executeUpdate(temp);JOptionPane. showMessageDialog (this ,记录修改成功!,恭喜,JOptionPane. WARNING_MESSAGE );break ;帮助public class Help

28、Frame exte nds JFrame public HelpFrame() super (Help);setBounds( 120, 50, 275, 260);HtmlPane html = new HtmlPane();setC onten tPa ne(html);public static void main(String args)HelpFrame help= new HelpFrame();help.setVisible( true );System. out .println( Hello World!);class HtmIPane extends JScrollPan

29、e implementsHyperlinkListener JEditorPane html ;public void run() if (url = null ) html .setCursor( cursor );Container pare nt =html .getPare nt();pare nt.repai nt(); else Document doc = html .getDocument();try html .setPage( url); catch (IOException ioe) html .setDocument(doc);getToolkit().beep();

30、fin ally url = nuII ;SwingUtilities. invokeLater (this );4.3类与数据结构实现本系统采用的是Access数据库的连接方式,Access数据库使用ODBC直 连方式如下:加载驱动程序:Class.forName(s un .jdbc.odbc.JdbcOdbcDriver);与数据库建立连接:String url=jdbc:odbc:Driver=MicroSoft Access Driver(*mdb);DBQ=+applicatio n. getRealPath(/Data/ReportDemo.mdb);Connection con

31、n = DriverManager.getConnection(url,);创建 JDBC Statement 对象:Stateme nt stmtNew=c onn. createStateme nt();注意:首先要配置数据源:控制面版- 管理工具- 数据源- 系统DSN-添加- 选择Microsort Access Drive(*.mdb)- 完成- 写个数据源名(随意)- 选择- 找到你的access 文件- 确定,接下来再进行你的操作。五、测试运行5.1系统测试方案1,电子词典功能测试:运行程序,弹出电子词典运行窗口。若没有显示出来,则程序错误2,电子词典查询功能测试:运行程序后,在

32、单词框内输入要查询的单词,单击 查询按钮,若显示出所查单词的意思,则程序运行成功。若点击无反应,则程 序错误。3,电子词典添加功能测试:运行程序后,点击添加按钮,弹出添加运行窗口, 若没有弹出,则程序错误。若成功在单词框内输入要添加的单词,点击完成按 钮,若弹出成功窗口,则程序正确,反之则程序错误。4,电子词典修改功能测试:运行程序后,点击修改按钮,弹出修改运行窗口, 若没有弹出,则程序错误。若成功在单词框内输入要修改的单词,点击完成按 钮,若弹出成功窗口,则程序正确,反之则程序错误。5,电子词典删除功能测试:运行程序后,点击删除按钮,弹出删除运行窗口, 若没有弹出,则程序错误。若成功在单词框

33、内输入要删除的单词,点击完成按 钮,若弹出成功窗口,则程序正确,反之则程序错误。5.2运行结果分析(1)此窗口为菜单窗口,用户可在此窗口内选择应用的内容。其中文件目录中 包括:英汉词典,汉英词典,备份文库。编辑目录中包括:单词的添加,修改 删除。如图5.2.1图521菜单界面运行图(2) 用户可在窗口内输入要查询的单词,输入完毕后点击查询将出现次单词的解释及其词性。如输入的单词不存在词库中,则显示查无此单词。如图5.2.2和 5.2.3日英注立译小词典谴廳豹蠢好邈參恣廳蕊鑒蕊隧宓瘗您鑒癘隧(才因文件編辑帮助输入要查询的英语单词:about查園prep.关于,对于,在周围,在附近添加 嚨理哪除图

34、522单词查询图图5.2.3单词查询运行图(3) 若用户需要在词库中添加新的单词, 则选择单词的添加。用户可输入想要添加的单词及其解释和词性。单击确定后,次单词保存在词库中。如图5.2.4B満加单词Ef因01 S图524单词添加运行图(4)用户想要修改词库中已存在的单词, 可选择单词的修改。用户可对该单词及其解释进行修改。修改并保存后单击确定,系统将提示用户记录修改成功。如图5.2.5ant查询提交 瞰渦/! 編加就功匸确定海加 湎 刪除轿中-厲聲古尸输入要添加的单词:ant输入忝加的单词的解释:蚂蚁图525单词修改运行图(5 )想要删除词库中已存在的单词,可选择单词的删除。输入想要删除的 单

35、词,点击确定后,此单词及其解释一并删除。删除后,系统提示用户单词 删除成功。如图5.2.6删除单词删除单词nL s Sart输入要删陳的单词.输入要删陳的单词.I:I:直询修改刪赊图526单词删除运行图(6)用户可点击帮助来更好的了解电子词典的功能及其用法。如图5.2.7图5.2.7帮助菜单运行图六、设计体会此次课程设计是关于电子英汉词典系统设计,在这个过程中,我遇到了很多冋题,也更加了解JAVA。Java与C+语言非常相近,但Java比C+简单, 它抛弃了 C+中的一些不是绝对必要的功能,如头文件、预处理文件、指针、 结构、运算符重载、多重继承以及自动强迫同型。Java实现了自动的垃圾收集,简化了内存管理的工作。这使程序设计更加

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论