• 571.71 KB
  • 2022-04-22 13:40:31 发布

英汉译功能的实现及不足毕业论文.doc

  • 32页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'四川交通职业技术学院毕业设计(论文)英汉译功能的实现及不足毕业论文目录第一章问题定义及内容简介11.1问题的定义11.2内容简介1第二章研究背景与研究意义22.1研究背景22.2研究意义2第三章开发平台与语言简介43.1Eclipse简介43.2java简介43.3Access简介5第四章系统需求分析及可行性分析64.1系统需求分析64.1.1现状分析64.1.2功能需求分析64.1.3数据库需求分析64.1.4系统数据流程分析74.2系统总体功能介绍84.3模块功能介绍84.3.1主界面功能84.3.2英译汉功能94.3.3汉译英功能94.4数据项94.5系统难点分析10第五章系统设计115.1系统的总体设计115.1.1系统的功能模块设计115.2系统的详细设计125.2.1概念设计125.3系统的物理设计14第六章总体设计1531 四川交通职业技术学院毕业设计(论文)6.1算法的实现156.2字符串的联系156.3数据库设计156.3.1数据库图156.3.2数据库的约束与关系156.4系统的实现166.4.1主界面功能实现166.4.2英译汉功能实现176.4.3汉译英功能及词库备份实现186.4.4查询类的实现及数据库绑定196.4.5添加类的实现及数据库绑定206.4.6修改类的实现及数据库绑定216.4.7删除类的实现及数据库绑定22第七章Socket编程257.1Socket编程257.2Socket的实现25第八章程序总结298.1本系统的优点298.2本系统的不足及改良298.3设计和实现过程中的收获29参考文献30参考书籍:30谢辞31第一章问题定义及内容简介1.1问题的定义解决英译汉、汉译英以及传统的英汉互译的软件缺陷进行以下的改变:1.实现添加生词到数据库,方便下次查询,备份词库、避免数据丢失。2.修改错误的词汇,汉英解释和单词的性质。3.对不必要的词汇进行删除,大大的减少了数据冗余和重复。31 四川交通职业技术学院毕业设计(论文)4.考虑数据库的选择和数据库连接、配置等问题、减少不必要的问题出现1.2内容简介通过设计实践,达到以下目的:1.培养学生严谨务实的工作态度,并在老师的指导下,提高分析问题和解决问题的能力,促进理论联系实际学风养成。2.巩固和加深对面向对象程序设计的基本概念、基本理论和实现技术的理解。3.掌握Java开发的主要环境与工具,掌握面向对象的常用控件的使用方法。4.初步掌握面向对象系统分析与设计的基本方法和步骤,并能针对简单的实际应用问题进行初步地分析和设计。5.掌握Java编程语言,并针对具体应用问题进行编程实现。6.通过撰写课程设计论文,锻炼学生科技论文写作能力。英汉互译的实现:功能要求:能够编辑词典库中的信息,能够实现英译汉,汉译英(要考虑一词多义)。该系统主要用于实现英汉互译的功能,先选择是英译汉还是汉译英然后再查询框中查询,该系统会自动弹出匹配信息。第二章研究背景与研究意义2.1研究背景电子引词典是一种将传统的印刷词典转成数码方式、进行快速查询的数字学习工具。电脑辞典以轻便易携、查询快捷、功能丰富等特点,成为21世纪学生学习生活、社会人士移动办公的掌上利器。电脑辞典主要有五大板块功能,分别为:辞典查询学习功能、电子记事功能、计算功能、参考资料功能以及数据传输功能。目前市场上的电子辞典内置的辞典有学习词典如英汉、雅思等,也有专业词典如电子、医药、信息等。不同的消费者应根据自己的实际情况选择最适合自己的电子辞典,标准的31 四川交通职业技术学院毕业设计(论文)电子辞典内置英汉、汉英、英英、雅思、托福等学习型词典,是为大学、高初中以及小学生量身定制的学习辞典。我们在学习英语的时候会经常碰到很多的生词,有时,为了读懂一篇文章,经常是读文章用一小时,但是其中却有半个小时都在翻阅英语字典。所以我们小组为了解决这一问题,才将选材方向定位于电子词典的功能实现,主要的目的就是为同学们解决这一问题。在做电子词典功能实现的时候,主要从以下几个方面入手,即:英汉互译、汉英互译。在英译汉、汉译英这两个功能模块上,我们首先提供了一个查询界面,即使用者需要输入要查询的关键字,点击确定按钮,屏幕上就会出现其对应的答案。在做这个模块的时候,我们主要解决了Java与数据库的链接问题,进而实现其功能。从系统的可扩展性方面考虑,我们在系统中加入了对单词库的添加、删除、修改功能。有了这个功能模块,将给予使用者带来很大的方便。当然也存在一种情况,即刚开始接触而不懂得如何去使用电子词典,为此我们加入了帮助界面,帮助界面是用Java小程序完成的。2.2研究意义在于巩固所学Java语言编辑基本功,掌握Jdk,Editplus,Eclipse,Jcreator等开发工具的运用,拓宽常用类库的应用。Java语言是当今流行的网络编程语言,它具有面向对象,跨平台,分布应用等特点,它贴近自然的语言,而且有利于软件的维护和继承。我们通过该教学环节与手段,把所学课程及相关知识加以融会贯通,全面掌握Java语言的编程思想及面向对象程序设计的方法,为今后从事实际工作打下坚实的基础。为了体现它的可扩展性,使用者也可以自己添加、删除或修改其单词库,为我们的学习带来了很多方便。第三章开发平台与语言简介3.1Eclipse简介Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,31 四川交通职业技术学院毕业设计(论文)Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentKit,JDK)。  虽然大多数用户很乐于将Eclipse当作Java集成开发环境(IDE)来使用,但Eclipse的目标却不仅限于此。Eclipse还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。  这种平等和一致性并不仅限于Java开发工具。尽管Eclipse是使用Java语言开发的,但它的用途并不限于Java语言;例如,支持诸如C/C++和COBOL等编程语言的插件已经可用,或预计将会推出。Eclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。基于Eclipse的应用程序的一个突出例子是IBMRationalSoftwareArchitect,它构成了IBMJava开发工具系列的基础。同时,从2006年起,Eclipse基金会每年都会安排同步发布(simultaneousrelease)。至今,同步发布主要在6月进行,并且会在接下来的9月及2月释放出SR1及SR2版本。3.2java简介Java的名字的来源:Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名。Java语言中的许多库类名称,多与咖啡有关:如JavaBeans(咖啡豆)、NetBeans(网络豆)以及ObjectBeans(对象豆)等等。Java是由SunMicrosystems公司于1995年5月推出的Java面向对象程序设计语言(以下简称Java语言)和Java平台的总称。由JamesGosling和同事们共同研发,并在1995年正式推出。用Java实现的HotJava浏览器(支持Javaapplet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Javaapplet。另一方面,Java技术也不断更新。(2010年Oracle公司收购了SUN)31 四川交通职业技术学院毕业设计(论文)  由四方面组成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(JavaAPI)。3.3Access简介MicrosoftOfficeAccess是微软把数据库引擎的图形用户界面和软件开发工具结合在一起的一个数据库管理系统。它是微软Office的一个成员,在包括专业版和更高版本的Office版本里面被单独出售。2010年5月12日,最新的微软OfficeAccess2010在微软Office2010里发布,微软OfficeAccess2007是前一个版本。MSACCESS以它自己的格式将数据存储在基于AccessJet的数据库引擎里。它还可以直接导入或者链接数据(这些数据存储在其他应用程序和数据库)。第四章系统需求分析及可行性分析4.1系统需求分析4.1.1现状分析当今时代是信息化时代,而信息的数字化也越来越被人们所重视,所以,数字化技术的重要性也逐渐体现了出来,主要体现在以下几个方面:数字化是数字计算机的基础,数字化是软件技术的基础,是智能技术的基础,数字化是信息社会的技术基础,数字化是信息社会的经济基础。词典作为一种为大众服务的工具书,已经渐渐退居二线了,进而出现了另一种查找方式更加简便,更加精确,词汇量更加丰富而且随身携带更加方便的工具,那就是电子词典,应该说这是一个新旧交替的过程,电子词典取代传统词典只是时间的问题。31 四川交通职业技术学院毕业设计(论文)4.1.2功能需求分析本系统在单词查阅方面主要完成了英译汉、汉译英功能,词库备份;在系统性能方面主要完成了单词库的插入、修改、删除功能以及帮助系统。4.1.3数据库需求分析目前电子词典的应用很广泛,其体积小、价格低、实用性强,作为学习工具,有着很广泛的市场。在以前,同学们学习英语时都要用人工的方法去查阅生词,不仅浪费了大量的学习时间,学习效率无法提高。查阅英语生词成为了很多学习英语同学在学习方面的瓶径。电子词典的出现,就是针对这一问题。这里的设计就是实现英汉互译、单词发音,为了体现它的可扩展性,使用者也可以自己添加、删除或修改其单词库。下面是数据库表设计:表4.1英语词汇表字段名字段类型长度备注单词TEXT50主键解释TEXT504.1.4系统数据流程分析数据流程是数据的采集、输入、处理、加工和输出的全过程。信息原始数据经采集后,输入计算机系统,进行模式或统计运算,或按用户的特殊要求编制某种专门程序来加工处理数据,然后输出结果数据。分析电子词典的总体情况,划分系统边界,识别系统的数据来源和去处,确定外部实体,得出系统的顶层数据流程图;然后划分出几个主要的信息管理功能,本系统的主要数据的工作流包括以下几个方面:1.英汉词典;2.汉英词典;3.添加词汇;31 四川交通职业技术学院毕业设计(论文)4.修改词汇;5.帮助;各功能之间的联系,绘出数据流程图,如下图所示:开始帮助输入英文单词翻译汉语解释结束果束图4.1英译汉数据流程图31 四川交通职业技术学院毕业设计(论文)开始帮助输入汉语词汇翻译英文单词结束图4.2汉译英数据流程图4.2系统总体功能介绍系统在单词查阅方面完成了英译汉、汉译英;完成了单词库的插入、修改、删除功能以及帮助系统。4.3模块功能介绍4.3.1主界面功能该模块的主要功能为:由于将组员所做的各模块组合在一起。使用户可以在一个界面下调用组内成员的功能模块。方便用户使用又方便用户的学习。而且不但可以通过菜单栏调用各功能模块,还可以通过按钮调用。主界面主要由两个面版,五个按钮,一个文本框,一个文本区,一个标签和一个菜单栏组成。在文本框中输入要查询的数据。文本区中显示查询的结果。31 四川交通职业技术学院毕业设计(论文)4.3.2英译汉功能该模块的主要功能为:当用记遇到陌生的单词或记不清解释的单词时,用户可以通过本功能查找,还通过本模块完成单词的再一次记忆。4.3.3汉译英功能该模块的主要功能为:当用户进行汉译英翻译时难难免遇到不会的词或记不请的记。这时用记就可以通过本功能实现词汇的查找。它不但可以查到想要查的词还可以找到和该词相关的单词。4.4数据项数据项又称数据元素,数据项是构成数据的最小单位,是数据记录中最基本的、不可分的有名数据单位。数据项可以是字母、数字或两者的组合。通过数据类型(逻辑的、数值的、字符的等)及数据长度来描述。数据项用来描述实体的某种属性。本系统的数据项的定义如下:表4.2系统数据项的定义数据项名称数据项含义说明别名数据类型长度取值范围英文单词用户需要输入的英文单词无文本50英文字母汉语词汇用户需要输入的汉语词汇无文本50中文添加单词添加数据库中没有的单词无文本50英文字母修改注释更新单词注释无文本50中文,英文字母数据结构的定义数据结构描述了某些数据项之间的关系。一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成;还可以由若干个数据项和数据结构组成。31 四川交通职业技术学院毕业设计(论文)数据结构名称:英文单词含义说明:用户需要输入的英文单词数据结构组成:由英文字母组成数据结构名称:汉语词汇含义说明:用户需要输入的汉语词汇数据结构组成:由中文组成数据结构名称:添加单词含义说明:添加单词库中没有的单词数据结构组成:由英文字母组成数据结构名称:修改注释含义说明:更新单词注释数据结构组成:由中文以及英文字母组成4.5系统难点分析本系统最大的难点有:对各个面板和功能之间的相互连接、实现数据的共享;实现对每个类的方法之间的调用,配置数据库的连接,完成英译汉、汉译英。31 四川交通职业技术学院毕业设计(论文)第五章系统设计5.1系统的总体设计5.1.1系统的功能模块设计系统模块设计分为3大项,分别是:文件模块,编辑模块和帮助模块。1.文件模块:文件模块分为4小项:汉译英模块,汉译英模块,词库备份,退出系统模块。2.编辑模块:编辑模块分为3小项:添加词汇模块,修改词汇模块,删除词汇模块。3.帮助模块:帮助模块分为2小项,分别是:帮助模块,关于模块系统的功能模块图:31 四川交通职业技术学院毕业设计(论文)电子词典文件编辑帮助英汉词典汉英词典退出系统添加词汇修改词汇删除词汇帮助关于备份词库图5.1系统的功能模块图5.2系统的详细设计5.2.1概念设计概念设计即是利用设计概念并以其为主线贯穿全部设计过程的设计方法。概念设计是完整而全面的设计过程,它通过设计概念将设计者繁复的感性和瞬间思维上升到统一的理性思维从而完成整个设计。如果说概念设计是一篇文章,那么设计概念则是这篇文章的主题思想。概念设计围绕设计概念而展开,设计概念则联系着概念设计的方方面面。下面是各模块的E-R图:31 四川交通职业技术学院毕业设计(论文)文件英译汉汉译英备份词库退出图5.2文件模块子E-R图编辑添加词汇修改词汇删除词汇图5.2编辑模块子E-R图帮助帮助关于图5.3帮助模块子E-R图31 四川交通职业技术学院毕业设计(论文)5.3系统的物理设计数据库物理设计阶段的任务是根据具计算机系统(硬件等)的特点,为给定的数据库模型确定合理的存储结构和存取方法。有两个含义:一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度。为了设计数据库的物理结构,设计人员必须充分了解所用硬件的内部特征;充分了解数据系统的实际应用环境,特别是数据应用处理的频率和响应时间的要求;充分了解外存储设备的特性。数据库的物理结构设计大致包括:确定数据的存取方法、确定数据的存储结构。物理结构设计阶段实现的是数据库系统的内模式,它的质量直接决定了整个系统的性能。因此在确定数据库的存储结构和存取方法之前,对数据库系统所支持的事务要进行仔细分析,获得优化数据库物理设计的参数。对于数据库查询事务,需要得到如下信息:1.要查询的关系。2.查询条件(即选择条件)所涉及的属性。3.连接条件所涉及的属性。4.查询的投影属性。对于数据更新事务,需要得到如下信息:1.要更新的关系。2.每个关系上的更新操作的类型。3.删除和修改操作所涉及的属性。4.修改操作要更改的属性值。5.确定数据库的存储结构。6.确定系统存储参数的配置。31 四川交通职业技术学院毕业设计(论文)第六章总体设计6.1算法的实现起初连接数据库的语句全部都是在调用页一句一句的书写,这样一来不仅做了很多重复的工作,而且使页面看起来很繁琐,经过翻阅书籍发现可以将连接数据库的语句统一放到一个页面里,然后在需要调用连接数据库语句的页面调用就可以了,这样既节省时间,又避免出现书写错误。6.2字符串的联系在测试数据查询模块时,发现对字符串的比较存在大小写之分,所以要先将要比较的两个字符串转化成相同的格式或者强行限制输入的字符串大小写相同,然后再进行比较;如果查询的结果为空,那么应该给出提示信息,这样才能真正做到人机界面的交互。6.3数据库设计6.3.1数据库图表6.1英译汉词汇表字段名字段类型长度备注yingwudancichar30可为空cixingchar10可为空jieshichar50可为空6.3.2数据库的约束与关系本系统的数据库采用的是access简单的数据库,之前在电脑上尝试过使用SQL和MYSQL等都因系统兼容性不能正常使用。Access数据库只选择了一张表建立了单词的英文单词、解释、词性。31 四川交通职业技术学院毕业设计(论文)通过算法的设计、实现了英译汉、汉译英、单词查询、添加、修改和删除的各项功能的相互转换。6.4系统的实现6.4.1主界面功能实现在此模块内,用户如果想使用组内其他成员的功能时,有两种实现方法。一种是在编辑菜单下选择添加词汇;另一种是通过主界面下面的按钮调用其他成员的功能模块。主界面主要由主界面主要由两个面版,五个按钮,一个文本框,一个文本区,一个标签和一个菜单栏组成。在文本框中输入要查询的数据。文本区中显示查询的结果。主要方法包括:DataWindow()为构造方法,创建用户添加词汇界面;与actionPerformed()为接口方法,处理ActionEvent事件。下面是主界面程序部分源代码:this.setBounds(250,250,600,400);//设置面板大小this.setVisible(true);//设置面板可见getContentPane().add(newJScrollPane(chinesetext));mbar=newJMenuBar();setJMenuBar(mbar);mbar.setOpaque(true);mfile=newJMenu("文件");medit=newJMenu("编辑");mhelp=newJMenu("帮助");mbar.add(mfile);mbar.add(medit);mbar.add(mhelp);edic=newJMenuItem("英汉词典");cdic=newJMenuItem("汉英词典");back_data=newJMenuItem("备份词库");quit=newJMenuItem("退出");//文件菜单addedit=newJMenuItem("添加词汇");modedit=newJMenuItem("修改词汇");deledit=newJMenuItem("删除词汇");//编辑菜单hhelp=newJMenuItem("帮助");about=newJMenuItem("关于...");//帮助菜单31 四川交通职业技术学院毕业设计(论文)图6.1主界面6.4.2英译汉功能实现此功能模块主要是针对已经存在于单词库中的单词,通过编辑菜单中的英汉词典功能,在主界面的文本框中输入要查询的单词,单击查询按钮进行查询。结果显示在主界面的文本区中。下面是部分源代码:elseif(e.getSource()==edic)//英汉{label.setText("输入要查询的英语单词:");b1.setVisible(true);b5.setVisible(true);}31 四川交通职业技术学院毕业设计(论文)图6.2查询图6.4.3汉译英功能及词库备份实现elseif(e.getSource()==cdic)//汉英{label.setText("输入要查询的汉语意思:");b1.setVisible(true);b5.setVisible(true);}elseif(e.getSource()==back_data)//备份{Filefromfile=newFile("english\english.mdb");FileInputStreamfis=null;filedialog_save.setVisible(true);try{fis=newFileInputStream(fromfile);intbytesRead;//定义变量来存储输入流中读取出来的文件byte[]buf=newbyte[4*1024];//4KbufferFiletofile=newFile(filedialog_save.getDirectory(),filedialog_save.getFile());FileOutputStreamfos=newFileOutputStream(tofile);while((bytesRead=fis.read(buf))!=-1){fos.write(buf,0,bytesRead);}fos.flush();fos.close();fis.close();}catch(IOExceptione2){}}31 四川交通职业技术学院毕业设计(论文)图6.3查询图6.4.4查询类的实现及数据库绑定publicvoidListwords()throwsSQLException//实现查询功能{Stringcname,ename;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//数据库的连接}catch(ClassNotFoundExceptione){}//建立桥接器ConnectionEx1Con=DriverManager.getConnection("jdbc:odbc:fanyi");StatementEx1Stmt=Ex1Con.createStatement();if(label.getText().equals("输入要查询的英语单词:")){ResultSetrs=Ex1Stmt.executeQuery("SELECT*FROM表1");while(rs.next()){ename=rs.getString("单词");cname=rs.getString("解释");if(ename.equals(englishtext.getText())){chinesetext.append(cname+"n");}}Ex1Con.close();//关闭数据库31 四川交通职业技术学院毕业设计(论文)6.4.5添加类的实现及数据库绑定publicvoid添加()throwsSQLException//实现添加功能{Stringcname,ename;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundExceptione){}Con=DriverManager.getConnection("jdbc:odbc:fanyi");Stmt=Con.createStatement();ResultSetrs=Stmt.executeQuery("SELECT*FROM表1");booleanboo=false;while((boo=rs.next())==true){ename=rs.getString("单词");cname=rs.getString("解释");if(ename.equals(添加英语单词_文本条.getText())){JOptionPane.showMessageDialog(this,"此词汇已存在!","警告",JOptionPane.WARNING_MESSAGE);break;}}}31 四川交通职业技术学院毕业设计(论文)图6.4单词添加运行图6.4.6修改类的实现及数据库绑定ConnectionCon=null;//连接对象StatementStmt=null;ModifyWin(){super("修改");this.setBounds(250,250,250,200);this.setVisible(true);JPanelp=newJPanel();p.add(newLabel("输入英语单词:"));修改英语单词_文本条=newJTextField(20);p.add(修改英语单词_文本条);p.add(newLabel("输入该单词修改的汉语解释:"));修改汉语解释_文本条=newJTextField(20);p.add(修改汉语解释_文本条);publicvoidactionPerformed(ActionEvente){if(e.getSource()==modifybtn){if(修改英语单词_文本条.getText().equals("")||修改汉语解释_文本条.getText().equals("")){JOptionPane.showMessageDialog(this,"修改的单词或解释不能为空!","警告",JOptionPane.WARNING_MESSAGE);}publicvoid修改()throwsSQLException//实现修改功能{31 四川交通职业技术学院毕业设计(论文)Stringcname,ename;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundExceptione){}Con=DriverManager.getConnection("jdbc:odbc:fanyi");Stmt=Con.createStatement();ResultSetrs=Stmt.executeQuery("SELECT*FROM表1");}Con.close();if(boo==false){JOptionPane.showMessageDialog(this,"不存在此单词!","警告",JOptionPane.WARNING_MESSAGE);}}}图6.5修改词汇图6.4.7删除类的实现及数据库绑定publicvoidactionPerformed(ActionEvente){if(e.getSource()==delbtn){if(删除单词_文本条.getText().equals("")){JOptionPane.showMessageDialog(this,"删除的单词不能为空!","警告",31 四川交通职业技术学院毕业设计(论文)JOptionPane.WARNING_MESSAGE);}publicvoid删除()throwsSQLException//实现删除功能{Stringcname,ename;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundExceptione){}Con=DriverManager.getConnection("jdbc:odbc:fanyi");Stmt=Con.createStatement();ResultSetrs=Stmt.executeQuery("SELECT*FROM表1");booleanboo=false;while((boo=rs.next())==true){ename=rs.getString("单词");cname=rs.getString("解释");if(ename.equals(删除单词_文本条.getText())){Strings1="""+删除单词_文本条.getText().trim()+""";Stringtemp="DELETEFROM表1WHERE单词="+s1;Stmt.executeUpdate(temp);JOptionPane.showMessageDialog(this,"成功删除记录!","恭喜",JOptionPane.WARNING_MESSAGE);dispose();break;}}Con.close();31 四川交通职业技术学院毕业设计(论文)if(boo==false){JOptionPane.showMessageDialog(this,"不存在此单词!","警告",JOptionPane.WARNING_MESSAGE);}}}图6.6删除词汇图31 四川交通职业技术学院毕业设计(论文)第七章Socket编程7.1Socket编程socket是“open—write/read—close”模式的一种实现,那么socket就提供了这些操作对应的函数接口。程连接该客户端是记录线程ID和socket套接字,将这两个数据保存到map容器里,当客户端退出时删除map容器里该客户端数据,遍历map容器就知道连接了多少客户端,通过访问服务器的线程从而实现联网查询。7.2Socket的实现Service(服务器):try{ServerSocketserver=null;try{server=newServerSocket(4700);//创建一个ServerSocket在端口4700监听客户请求}catch(Exceptione){System.out.println("cannotlistento:"+e);}Socketsocket=null;try{socket=server.accept();//使用accept()阻塞等待客户请求,有客户//请求到来则产生一个Socket对象,并继续执行}catch(Exceptione){System.out.println("Error."+e);}31 四川交通职业技术学院毕业设计(论文)Stringline;BufferedReaderis=newBufferedReader(newInputStreamReader(socket.getInputStream()));//由Socket对象得到输入流,并构造相应的BufferedReader对象PrintWriteros=newPrintWriter(socket.getOutputStream());//由Socket对象得到输出流,并构造PrintWriter对象BufferedReadersin=newBufferedReader(newInputStreamReader(System.in));//由系统标准输入设备构造BufferedReader对象System.out.println("Client:"+is.readLine());//在标准输出上打印从客户端读入的字符串line=sin.readLine();//从标准输入读入一字符串while(!line.equals("bye")){//如果该字符串为"bye",则停止循环os.println(line);//向客户端输出该字符串os.flush();//刷新输出流,使Client马上收到该字符串System.out.println("Server:"+line);//在系统标准输出上打印读入的字符串System.out.println("Client:"+is.readLine());//从Client读入一字符串,并打印到标准输出上line=sin.readLine();//从系统标准输入读入一字符串}//继续循环os.close();//关闭Socket输出流is.close();//关闭Socket输入流31 四川交通职业技术学院毕业设计(论文)socket.close();//关闭Socketserver.close();//关闭ServerSocket}catch(Exceptione){System.out.println("Error:"+e);      }Client(客户端):try{Socketsocket=newSocket("127.0.0.1",4700);//向本机的4700端口发出客户请求BufferedReadersin=newBufferedReader(newInputStreamReader(System.in));//由系统标准输入设备构造BufferedReader对象PrintWriteros=newPrintWriter(socket.getOutputStream());//由Socket对象得到输出流,并构造PrintWriter对象BufferedReaderis=newBufferedReader(newInputStreamReader(socket.getInputStream()));//由Socket对象得到输入流,并构造相应的BufferedReader对象Stringreadline;readline=sin.readLine();//从系统标准输入读入一字符串while(!readline.equals("bye")){//若从标准输入读入的字符串为"bye"则停止循环os.println(readline);//将从系统标准输入读入的字符串输出到Serveros.flush();//刷新输出流,使Server马上收到该字符串System.out.println("Client:"+readline);//在系统标准输出上打印读入的字符串System.out.println("Server:"+is.readLine());//从Server读入一字符串,并打印到标准输出上readline=sin.readLine();//从系统标准输入读入一字符串}//继续循环os.close();//关闭Socket输出流is.close();//关闭Socket输入流31 四川交通职业技术学院毕业设计(论文)socket.close();//关闭Socket}catch(Exceptione){System.out.println("Error"+e);      }}31 四川交通职业技术学院毕业设计(论文)第八章程序总结8.1本系统的优点针对现阶段时代的发展多元化化学习已经展开,除了每天使用自己的母语之外,每天还会接触很多英语,然而接触到这些必会有我们不认识生僻的单词,这个时候就需要我们翻阅词典查,就当今的世界而言翻阅词典已经不能满足日益增进的物质文化需求,每个人都会采取查阅电子词典,本系统简单,方便,基本能满足我们每天能遇到过的生词,本系统还支持对单词,解释的,添加,删除和修改。8.2本系统的不足及改良虽然本系统已经开发成功,但是系统本身就存在不足,不能翻译整个语句,只能一个词一个字的解释,同时因为个人技能的问题,系统还存在少许的异常,但这些异常不会影响到系统的使用。希望自己在以后的学习,生活和工作中能对次系统进行修改。8.3设计和实现过程中的收获经过了一个多月断断续续的时间,利用Java开发的电子词典程序终于完成了。本程序是针对其相关问题分析之后,确定了程序涉及的领域,包括了界面设计、功能设计、数据库设计等,是一个具有实际应用意义的程序。经过这次的课题的设计与实现,尽管遇到了很多很多难题,但是让我让我更加受益的是在这次课程设计中得到的经验、心得和锻炼。这让我发现编译程序的过程其实就是不断解决问题的过程,从中也感受到了编写软件的乐趣,一个人永远有学不完的知识,就算开发软件的各项知识都学会了,但在实际开发过程中仍然会遇到不少问题,这是就要做到以下这两点:一个是“查”,另一个则是“问”。通过仔细的查阅资料和询问老师以及同学,最终解决了不少的问题。这也是使我认识到解决问题一方面依靠外界的帮助,更重要的是依靠自己的能力。关键是自己能够坚持不懈的努力,遇到困难和挫折能战胜他们坚持就是最后的胜利。31 四川交通职业技术学院毕业设计(论文)参考文献参考书籍:[1](美)BruceEckel著,陈昊鹏,饶若楠.java编程思想第3版[M].机械工业出版社.2005.12[2]李钟尉,周小彤.Java从入门到精通(第2版)[M].清华大学出版社.2010.7.1;[3]朱福喜.Java语言基础教程[M].清华大学出版社.2008.4;[4]李钟尉,陈丹丹.Java开发实战1200例[M].清华大学出版社.2011.1;[5]栗菊民.Java面向对象程序设计[M].机械工业出版社.2007.9;[6]郭峰.我的J2EE成功之路[M].电子工业出版社发行部.2009.11;[7]微软公司.SQLServer2000数据库程序设计[M].高等教育出版社.2004.2;[8]赛德维克,韦恩.Java程序设计:一种跨学科的方法[M].清华大学出版社.2009.5[9]斯科瑞.面向对象设计原理与模式[M].清华大学出版社.2009.4;[10]张振坤,李钟尉,陈丹丹.视频学Java[M].人民邮电出版社.2010.2;31 四川交通职业技术学院毕业设计(论文)谢辞首先感谢四川交通职业技术学院计算机工程系领导及所有的课任教师,谢谢你们三年的时间里对我们孜孜不倦的传授知识和教导,在这里不仅让我学会到了很多丰富专业知识和技能,这些知识对我们在以后的学习和工作中奠定了基础,同时还让我学会了为人处事和面对生活中困难的道理。最后感谢各位老师在百忙之中抽出时间来给我们做最后的毕业指导。31'