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

下载本文档

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

文档简介

1、 报 告课 程 设 计 Java程序设计 课程设计名称 业 专 级班 学 号 姓 名 指导教师 成 绩 日 年月 . 目录 一、设计任务与要求 . 1 1.1 设计任务与要求 . 1 1.2 选题目的与意义 . 1 二、需求分析 . 2 2.1 用户需求分析 . 2 2.2 开发环境分析 . 3 三、系统设计 . 4 3.1 系统总体设计 . 4 3.2 功能模块设计 . 4 3.3 类的设计 . 5 3.4 数据库设计 . 7 四、程序实现 . 9 4.1 程序流程图 . 9 4.2 关键算法与技术实现 . 11 4.3 类与数据结构实现 . 20 五、测试运行 . 20 5.1 系统测试方

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

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

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

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

6、t Access作为数据库,用JA系统需求分析:本系统是一个采用开发工具的英汉电子词典,内有英汉词典、汉英词典和备份词库。它不仅可实修改、还可以让用户根据自己的需要添加、现英译汉、汉译英的基本翻译功能, 删除词库,形成自己的词库。 )硬件环境(1p74502.13GHzCpu: Intel (R) Core(TM)2 Duo Cpu 250G 硬盘空间: 内存:2G )软件环境(2 Jcreator软件环境。JDK位XP操作系统。和32 . 三、系统设计 3.1 系统总体设计 电子英汉词典系统包括三个大方面:文件,编辑,其他。 文件菜单中包括英译汉,汉译英备份词库。这也是电子词典的最主要功能。

7、 编辑菜单中包括添加词汇,修改词汇,删除词汇功能。 其他菜单中包括帮助和关于。 系统总体设计图如下: 英汉电子词典 文件 编辑 其它 汉备退 英添修删帮 关 份英汉加除改 词词词词词词 出典库 典 汇 汇汇于 助 程序共有五个子函数和一个主函数。 (1)search是查找函数,用户通过系统提示输入要查找的单词,只要单词库中含有此单词便能找到相应的中文或英文解释,这个查找函数使用的是从头到尾的线性查找法,虽然查找效率在数据很大时候是无法容忍的,但因为这里涉及的数据量很小,使用线性查找对系统性能上没有很大影响。 (2)add是增加函数,用户可以通过此函数来增加单词库单词的数量 (3)modify是

8、修改函数,程序提示用户输入要修改的单词,使用线性查找的方法找到相应的单词。如果找到,则提示输入新的单词及其解释。 (4)delete是删除函数,程序提示用户输入要删除的单词,使用线性查找的方法找到相应的单词,如果找到,提示用户确认删除,在得到确认后即删除这个单词的记录。 (5)主程序通过无限循环来接收输入的命令,并且根据命令调用相应的函数处理。 3.2 功能模块设计 (1)英译汉功能模块说明:可以实现对英文单词的查询功能。用户文本框中输入要查询的英文单词。若该单词存在于词库中,则会在文件对话框中显示其词性及中文翻译;若该单词没有存在于词库中,则会弹出警告,说明查无此词。 . (2)汉译英功能模

9、块说明:可以实现对中文单词的查询功能。用户文本框中输入要查询的中文单词。若该单词存在于词库中,则会在文件对话框中显示其一个或多个对应的英文单词;若该单词没有存在于词库中,则会弹出警告,说明查无此词。 (3)备份词库功能模块说明:可以实现对现有词库的备份,可将当前词库存入用户所设置的任意位置。 (4)添加词汇功能模块说明:可以实现对词库的添加。用户可自行输入所添加的单词及其解释,若添加的是词库中没有的单词,系统在添加成功后提示添加成功。若添加的是词库中已有的单词,系统会弹出警告,说明此词汇已存在。 (5)修改词汇功能模块:可以实现对词库中已有单词的修改。用户可自行修改词库中的单词及其解释。若输入

10、的单词不存在于词库中,系统会弹出警告,说明不存在此单词。 (6)删除词汇功能模块:可以删除词库中已有的单词。用户可自行删除词库中已有的单词,再删除此单词的同时,其解释也会随之被删除,如输入的单词不存在于词库中,系统用会弹出警告,说明不存在此单词。 (7)其他功能模块:在其他中有帮助和关于两项。帮助中是有关于词典的功能说明,关于中可显示版本信息。 3.3 类的设计 主要类设计: 1. Loading类 Loading类主要是要实现登陆界面和按钮监视器执行动作的事件,和数据库的连接。 方法 功能 Loading() 安排登陆界面布局 LianJie() 连接数据库 Chaxun() 执行登陆按钮的

11、动作事件 DengLiPan() 判断文本框是否为空 2. Register类 Register类主要是实现注册界面和按钮监视器执行动作的事件,和数据库的连接。 方法 功能 Register() 安排注册界面布局 LianJie() 连接数据库 Chaxun() 执行确定按钮的动作事件 DengLiPan() 判断文本框是否为空 3. Kellu类 Kellu类为窗口主界面类,包括菜单栏,工具栏,显示栏,添加监视器执行动作的事件。 方法 功能 Kehu() 安排界面布局,设置菜单项和工具按钮 . action Performed() 执行按钮的动作事件valueChanged() 下拉列表的监

12、听事件 ChaXun类4. ChaXun类细腻那两个构造方法,分别是实现英汉,汉英查询功能。 方法 功能JingQunEnglishCha() 英译汉的查询JingQunChineseCha() 汉译英的查询 类5Add 类实现单词的添加功能 Add 方法 功能Add() 设置“添加”窗口界面AddCha() 实现和数据库的连接 类6. Update输入功能通过单击主窗口界面的更新按钮弹出更新小窗口,Update类, 更新的单词,对相应的解释进行更新。方法 功能Add() 设置“添加”窗口界面AddCha() 实现和数据库的连接 类 delect7.类,功能通过单击主窗口界面的删除按钮弹出删除

13、小窗口,输入delect 删除的单词进行删除。方法 功能delect() 设置“删除”窗口界面delectcha() 实现和数据库的连接 help类8. 类,功能通过单击主窗口界面的帮助菜单下的帮助选项又弹出帮助hele窗口,通过网页显示单词的想过说明,通过单击页面上的超链接来显示 另一网页。 方法 功能Help() 设置帮助窗口界面Hyperlinkupdate() URL资源显示新的 Guanyu类9. 类功能通过单击主窗口界面的帮助菜单下的关于弹出关于窗Guanyu 口,显示词典的使用说明。 方法 功能 Guanyu() 设置关于窗口界面 界面设计思想、medit(编辑)创建窗体,设计菜

14、单。定义菜单条JMenu mfile(文件)、 . mhelp(帮助),菜单子项JMenuItem edic(英汉词典)、cdic(汉英词典)、back_data(备份词库)、quit(退出)、addedit(添加词汇)、modedi(修改词汇)、deledit(删除词汇)、hhelp(帮助)、about(关于)。通过add( )方法将菜单子项添加到菜单中,并注册监听者。定义一个文件对话框filedialog_save,并为之增加适配器。自定义一个面板,实现GUI元素的布局。 3.4 数据库设计 Java数据库连接(JDBC)由一组用 Java 编程语言编写的类和接口组 成。JDBC为工具/数

15、据库开发人员提供了一个标准的 API,使他们能够用纯Java API 来编写数据库应用程序。然而各个开发商的接口并不完全相同,所以开发环境的变化会带来一定的配置变化。本系统采用的是Access数据库的连接方式。 英译汉词汇表 字段名 字段类型 长度 备注 yingwudanci char 30 可为空 yinbiao char 10 可为空 cixing char 10 可为空 jieshi char 50 可为空 各功能模块E-R图如下: 图1)文件模块子E-R(其中包括英译汉功能模块,文件模块中主要目的就是要完成英汉互译功能。 汉译英模块功能,备份词库模块功能 . 汉译英英译汉 文件 退出

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

17、制出数据流程图,如下图所示: . 开始 输入单词 输入词性 输入音标 输入中文示输入显 信息无显示 到 单显示菜 输入选项显示查询选项 输入删除的单词 输入英文单词 判断 循环体 计算 判断示无显示查找显 法找到信息 输入中文意思 判断 循环体 计算 判断查示显无显示 找信息 法找到 判断 循环体 查找 判断找法除删显示成功 结束 . 4.2 关键算法与技术实现 菜单窗口 class DataWindow extends JFrame implements ActionListener try fis = new FileInputStream(fromfile); int bytesRead

18、; /定义变量来存储输入流中读取出来的文件 byte buf = new byte4*1024; /4K buffer File tofile = new File(filedialog_save.getDirectory(),filedialog_save.getFile(); FileOutputStream fos = new FileOutputStream(tofile); while(bytesRead = fis.read(buf)!=-1) fos.write(buf,0,bytesRead); fos.flush(); fos.close(); fis.close(); ca

19、tch(IOException e2) public void Listwords() throws SQLException /实现查询功能 String cname,ename; try Class.forName (獜湵樮扤?摯换?扤佣扤?楲敶屲); catch(ClassNotFoundException e) / 建立桥接器 Connection Ex1Con = DriverManager.getConnection(橜扤?摯换?尳,); Statement Ex1Stmt = Ex1Con.createStatement(); . if(label.getText().equal

20、s(输入要查询的英语单词尺) ResultSet rs = Ex1Stmt.executeQuery( SELECT * FROM 表就); while( rs.next() ename = rs.getString( 单词 ); cname = rs.getString( 解释 ); if(ename.equals(englishtext.getText() chinesetext.append(cname+n); public class Dic public static void main(String args) JFrame.setDefaultLookAndFeelDecorat

21、ed(true); DataWindow window = new DataWindow(); window.validate(); / AddWin add = new AddWin(); public void add() 单词的添加 public class AddWin extends JFrame implements ActionListener JTextField 添加汉语解释_文本条,添加英语单词_文本条; JButton addbtn,cancelbtn; . Connection Con=null; Statement Stmt=null; public void act

22、ionPerformed(ActionEvent e) if(e.getSource()=addbtn) if(添加英语单词_文本条.getText().equals()| 添加汉语解释_ 文本条.getText().equals() JOptionPane.showMessageDialog( this,添加的单词或解释不能为空!,警告, JOptionPane.WARNING_MESSAGE); / 判断输入框不能为空 else try 添加(); catch(SQLException ee) else if(e.getSource()= cancelbtn) . dispose(); )

23、 (boo=rs.next()=true while ); 单词 ename=rs.getString( ); 解释 cname=rs.getString( .getText() 文本条(ename.equals( 添加英语单词_if 此词汇已存(this, JOptionPane.showMessageDialog, ,警告在! ); WARNING_MESSAGE JOptionPane. ; break if(boo=false ) String s1=?岯 +添加英语单词 _文本条.getText().trim()+?岯,s2=?岯+添加汉语解释_文本条.getText().trim(

24、)+?岯; String temp=INSERT INTO 表1 VALUES 尨+s1+?+s2+?; Stmt.executeUpdate(temp); JOptionPane.showMessageDialog(this,添加成功!,恭 . 喜, JOptionPane.WARNING_MESSAGE); dispose(); Con.close(); 单词的删除 class DelWin extends JFrame implements ActionListener JTextField 删除单词_文本条; JButton delbtn,cancelbtn; Connection C

25、on = null; Statement Stmt = null; public void actionPerformed(ActionEvent e) if(e.getSource()=delbtn) if(删除单词_文本条.getText().equals() ?灏楴湯慐敮献潨?獥慳敧楄污杯琨楨? 删除的单词不能为空!?警告, JOptionPane.WARNING_MESSAGE); / 判断输入框不能为空 . else try 删除(); catch(SQLException ee) else if(e.getSource()=cancelbtn) dispose(); while(b

26、oo=rs.next()=true) 湥浡?獲朮瑥瑓楲杮尨单词); 湣浡?獲朮瑥瑓楲杮尨 解释 ); if(ename.equals( 删除单词_ 文本条.getText() String s1=+ 删除单词_文本 条.getText().trim()+; String temp=DELETE FROM 表1 WHERE 单词 =+s1; Stmt.executeUpdate(temp); 佊瑰潩偮湡?桳睯敍獳条?慩潬?桴獩尬成功删除记 录!?恭喜, . JOptionPane.WARNING_MESSAGE); dispose(); break; 单词的修改 class ModifyWin

27、extends JFrame implements ActionListener JTextField 修改英语单词_文本条,修改汉语解释_文本条; JButton modifybtn ,cancelbtn; Connection Con=null; Statement Stmt=null; public void actionPerformed(ActionEvent e) if(e.getSource()= modifybtn) if(修改英语单词_文本条.getText().equals( )| 修改汉语解释_文本条 .getText().equals( ) JOptionPane. s

28、howMessageDialog(this ,修改的单词或 解释不能为空!,警告, JOptionPane.WARNING_MESSAGE); . / 判断输入框不能为空 else try 修改 (); catch(SQLException ee) else if(e.getSource()=cancelbtn) dispose(); if(ename.equals(修改英语单词 _文本条.getText() String s1=?岯 +修改英语单词 _文本条.getText().trim()+?岯,s2=?岯+修改汉语解释_文本条.getText().trim()+?岯; String te

29、mp=UPDATE 表1 SET 解释 尽+s2+ WHERE 单词?尠+s1; Stmt .executeUpdate(temp); JOptionPane.showMessageDialog (this , 记录修改成 功!,恭喜, . JOptionPane.WARNING_MESSAGE); dispose(); break ; 帮助 public class HelpFrame extends JFrame public HelpFrame() super(?汥屰); setBounds( 120, 50, 275, 260); HtmlPane html = new HtmlPan

30、e(); setContentPane(html); public static void main(String args) HelpFrame help=new HelpFrame(); help.setVisible(true); System.out.println(?汥潬圠牯摬尡); class HtmlPane extends JScrollPane implements HyperlinkListener JEditorPane html; public void run() if (url = null) html.setCursor(cursor); Container pa

31、rent = html.getParent(); parent.repaint(); else Document doc = html.getDocument(); try html.setPage(url); catch (IOException ioe) html.setDocument(doc); getToolkit().beep(); . finally url = null; SwingUtilities.invokeLater( this); 类与数据结构实现4.3 本系统采用的是Access数据库的连接方式,Access数据库使用ODBC直连 方式如下: 加载驱动程序: Cla

32、ss.forName(sun.jdbc.odbc.JdbcOdbcDriver) ; 与数据库建立连接: String url=jdbc:odbc:Driver=MicroSoft Access Driver (*.mdb);DBQ=+application.getRealPath(/Data/ReportDemo.mdb); Connection conn = DriverManager.getConnection(url,); 创建JDBC Statement对象: Statement stmtNew=conn.createStatement() ; 注意:首先要配置数据源: 控制面版-管理工具-数据源-系统DSN-添加-选择Microsort Access Drive(*.mdb)-完成-写个数据源名(随意)-选择-找到你的access文件-确定,接下来再进行你的操作。 五、测试运行 5.1 系统测试方案 1,电子词典功能测试:运行程序,弹出电子词典运行窗口。若没有显示出来, . 则程序错误。 2,电子词典查询功能测试:运行程序后,在单词框内输入要查询的单词,单击查询按钮,若显示出所查单词的意思,则程序运行成功。若点击无反应,则程序错误。 3,电子词典添加功能测试:运行程序后,点击添加按钮,弹出添加运行窗口,若没有弹出,则程序错误。若成功在单词框内输入要

温馨提示

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

评论

0/150

提交评论