Java英汉电子字典课程设计源代码

合集下载

java课程设计英汉双语词典

java课程设计英汉双语词典

java课程设计英汉双语词典一、教学目标本课程的教学目标是使学生掌握Java编程的基本技能,能够运用Java语言开发简单的英汉双语词典应用程序。

具体目标如下:1.知识目标:–理解Java语言的基本语法和结构。

–掌握面向对象编程的基本概念和方法。

–了解英汉双语词典的基本结构和实现方式。

2.技能目标:–能够使用Java语言编写简单的程序。

–能够运用面向对象编程的方法设计程序。

–能够独立完成英汉双语词典的编程实现。

3.情感态度价值观目标:–培养学生的编程兴趣和自信心。

–培养学生解决问题的能力和团队合作精神。

–培养学生对编程技术和计算机科学的热爱。

二、教学内容本课程的教学内容主要包括Java语言的基本语法和结构、面向对象编程的方法、英汉双语词典的基本结构和实现方式。

具体教学大纲如下:1.Java语言的基本语法和结构:–数据类型、变量和运算符。

–控制结构和函数。

–数组和字符串的操作。

2.面向对象编程的方法:–类的定义和创建。

–属性和方法的封装。

–继承和多态的应用。

3.英汉双语词典的基本结构和实现方式:–词典的数据结构和存储方式。

–词条的添加、删除和查找操作。

–词典的界面设计和用户交互。

三、教学方法本课程的教学方法主要包括讲授法、案例分析法和实验法。

具体方法如下:1.讲授法:通过讲解和演示的方式,向学生传授Java语言的基本语法和结构、面向对象编程的方法以及英汉双语词典的基本结构和实现方式。

2.案例分析法:通过分析具体的英汉双语词典案例,让学生理解和掌握词典的编程实现方法。

3.实验法:通过实验和实践的方式,让学生动手编写Java程序,培养学生的编程技能和解决问题的能力。

四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备。

具体资源如下:1.教材:选用《Java编程基础》作为主教材,介绍Java语言的基本语法和结构、面向对象编程的方法。

2.参考书:推荐《Java核心技术》等参考书,供学生深入学习和参考。

电子词典_java课设_含可运行程序概要

电子词典_java课设_含可运行程序概要

电子词典1.课程设计的目的本课程设计利用Java编程开发语言,设计一个电子词典,该词典主要支持用户查询需求,实现英汉互译功能,支持用户自定义词库,能够使用户对词库进行操作,以便用户获得更多资料。

通过设计这个小词典,将课堂所学应用于实际生活中,学会运用面向对象开发语言进行简单程序的设计,与此同时也加强了对Java Swing和Java Awt 包的使用和对Java相关知识的巩固。

本课程设计也使用了MS Access数据库做数据持久化,不仅丰富了电子词典的内容,同时也加深了对数据库的相关知识的深入了解,这种跨学科的综合设计,锻炼了自己的编程和综合运用知识的能力,为以后的发展打下了良好基础。

2.设计方案论证2.1项目开发背景近几年来外语学习已经变为一种潮流,越来越多的中小学生拥有自己的电子词典。

现在的数字电子词典容量不断增大,已发展到可以自由扩充词库,或者从网上下载词库,对词典进行自动更新。

电子词典的功能的需求也越来越强大,作为一个计算机专业的学生,希望根据英语学习者的需求来设计一个实用电子词典,以帮助英语学习者们更方便快捷的查询单词、记忆单词、有效自由的对词库进行管理和操作。

与此同时也提高一下自己对Java语言的运用和对程序的开发设计能力。

2.2系统需求分析用户在使用电子词典的时候,有可能会使用到电子词典的查询功能,也有可能使用到对词库的更新功能。

通过对用户的需求分析,初步确定该系统的基本需求情况。

(1)用户在打开软件的时候,应该呈现一个友好的查询界面,便于用户操作。

(2)当用户需要查询的时候,软件将提供这个单词的所有信息。

(3)可以自定义单词,使用户可以自动扩充单词库,方便以后使用,并具有针对性。

2.2.1模块功能说明(1)汉译英功能模块说明:可以实现英文单词对中文词汇的查询功能。

当用户输入一个单词,用户可以单击查询按钮,显示这个单词的中文解释,解释出现在文本区。

(2)英译汉功能模块说明:实现将中文词汇翻译成英语。

java电子词典课课程设计

java电子词典课课程设计

java电子词典课课程设计一、教学目标本节课的学习目标包括以下三个方面:1.知识目标:学生需要掌握Java电子词典的基本设计原理和实现方法,了解Java编程语言在实际应用中的优势。

2.技能目标:学生能够熟练使用Java编程语言实现一个简单的电子词典程序,培养学生的编程能力和问题解决能力。

3.情感态度价值观目标:通过本节课的学习,学生能够培养对计算机科学的兴趣,提高对编程语言的认同感,培养团队合作和自主学习的意识。

二、教学内容本节课的教学内容主要包括以下几个部分:1.Java电子词典的基本设计原理和实现方法。

2.Java编程语言在实际应用中的优势和特点。

3.利用Java编程语言实现一个简单的电子词典程序。

三、教学方法为了实现本节课的教学目标,我们将采用以下几种教学方法:1.讲授法:通过讲解Java电子词典的基本设计原理和实现方法,使学生了解Java编程语言在实际应用中的优势。

2.案例分析法:通过分析具体的Java编程案例,引导学生掌握Java编程语言的语法和编程技巧。

3.实验法:让学生通过动手实践,利用Java编程语言实现一个简单的电子词典程序,培养学生的编程能力和问题解决能力。

四、教学资源为了支持本节课的教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《Java编程语言》。

2.参考书:《Java核心技术》。

3.多媒体资料:Java编程语言的教学视频和PPT。

4.实验设备:计算机和网络设备。

五、教学评估为了全面、客观、公正地评估学生的学习成果,我们将采取以下评估方式:1.平时表现:通过观察学生在课堂上的参与程度、提问回答、小组讨论等表现,评估学生的学习态度和积极性。

2.作业:布置适量的编程作业,评估学生的编程能力和对知识的掌握程度。

3.考试:安排一次期末考试,测试学生对Java电子词典设计和Java编程语言的整体掌握情况。

评估结果将作为学生学习成果的重要依据,用于指导和调整后续的教学工作。

JAVA课程设计-电子词典

JAVA课程设计-电子词典
主界面主要由两个面版,五个按钮,一个文本框,一个文本区,一个标签和一个菜单栏组成。在文本框中输入要查询的数据。文本区中显示查询的结果。
3.3.2英译汉功能
该模块的主要功能为:当用记遇到陌生的单词或记不清解释的单词时,用户可以通过本功能查找,还通过本模块完成单词的再一次记忆。
3.3.3汉译英功能
该模块的主要功能为:当用户进行汉译英翻译时难难免遇到不会的词或记不请的记。这时用记就可以通过本功能实现词汇的查找。它不但可以查到想要查的词还可以找到和该词相关的单词。
编辑模块分为2小项,分别是:帮助模块,关于模块。
下面是系统的功能模块图:
图4.1 系统的功能模块图
4.2 系统的详细设计
4.2.1概念设计
对用户要求描述的现实世界,通过对其中住处的分类、聚集和概括,建立抽象的概念数据模型。这个概念模型应反映现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息储存、查询和加工的要求等。所建立的模型应避开数据库在计算机上的具体实现细节,用一种抽象的形式表示出来。
当然也存在一种情况,即刚开始接触而不懂得如何去使用电子词典,为此我们加入了帮助界面,帮助界面是用JAVA小程序完成的。
第3章 需求分析
3.1 现状的分析
当今时代是信息化时代,而信息的数字化也越来越被人们所重视,所以,数字化技术的重要性也逐渐体现了出来,主要体现在以下几个方面:数字化是数字计算机的基础,数字化是软件技术的基础,是智能技术的基础,数字化是信息社会的技术基础,数字化是信息社会的经济基础。
3.2.1系统总体功能介绍
本系统在单词查阅方面主要完成了英译汉、汉译英、单词发音功能;在系统性能方面主要完成了单词库的插入、修改、删除功能以及帮助系统。
3.3 模块功能介绍

JAVA电子英汉词典课程设计

JAVA电子英汉词典课程设计

JAVA电子英汉词典课程设计课程设计报告课程设计名称 Java程序设计专业班级学号姓名指导教师成绩年月日目录一、设计任务与要求 (1)1.1 设计任务与要求 (1)1.2 选题目的与意义 (2)二、需求分析 (2)2.1 用户需求分析 (2)2.2 开发环境分析 (4)三、系统设计 (5)3.1 系统总体设计 (5)3.2 功能模块设计 (6)3.3 类的设计 (7)3.4 数据库设计 (10)四、程序实现 (12)4.1 程序流程图 (12)4.2 关键算法与技术实现 (14)4.3 类与数据结构实现 (28)五、测试运行 (29)5.1 系统测试方案 (29)5.2 运行结果分析 (30)六、设计体会 (36)一、设计任务与要求1.1 设计任务与要求经过本课程设计实践,达到以下目的:(1)培养学生严谨务实的工作态度,并在老师的指导下,提高分析问题和解决问题的能力,促进理论联系实际学风养成。

(2)巩固和加深对面向对象程序设计的基本概念、基本理论和实现技术的理解。

(3)掌握Java开发的主要环境与工具,掌握面向对象的常见控件的使用方法。

(4)初步掌握面向对象系统分析与设计的基本方法和步骤,并能针对简单的实际应用问题进行初步地分析和设计。

(5)掌握Java编程语言,并针对具体应用问题进行编程实现。

(6)经过撰写课程设计论文,锻炼学生科技论文写作能力。

电子英汉词典功能要求:能够编辑词典库中的信息,能够实现英译汉,汉译英(要考虑一词多义)。

该系统主要用于实现英汉互译的功能,先选择是英译汉还是汉译英然后再查询框中查询,该系统会自动弹出匹配信息1.2 选题目的与意义我选择电子英汉互译词典这一课题的目的在于巩固所学JAVA 语言编辑基本功,掌握Jdk,Editplus,Eclipse,Jcreator等开发工具的运用,拓宽常见类库的应用。

Java语言是当今流行的网络编程语言,它具有面向对象,跨平台,分布应用等特点,它贴近自然的语言,而且有利于软件的维护和继承。

JAVA电子英汉词典课程设计报告

JAVA电子英汉词典课程设计报告

课程设计报告课程设计名称Java程序设计专业班级学号姓名指导教师成绩年月日目录一、设计任务与要求 (1)1.1 设计任务与要求 (1)1.2 选题目的与意义 (1)二、需求分析 (2)2.1 用户需求分析 (2)2.2 开发环境分析 (3)三、系统设计 (4)3.1 系统总体设计 (4)3.2 功能模块设计 (5)3.3 类的设计 (6)3.4 数据库设计 (10)四、程序实现 (12)4.1 程序流程图 (12)4.2 关键算法与技术实现 (14)4.3 类与数据结构实现 (29)五、测试运行 (29)5.1 系统测试方案 (29)5.2 运行结果分析 (30)六、设计体会 (36)一、设计任务与要求1.1 设计任务与要求通过本课程设计实践,达到以下目的:(1)培养学生严谨务实的工作态度,并在老师的指导下,提高分析问题和解决问题的能力,促进理论联系实际学风养成。

(2)巩固和加深对面向对象程序设计的基本概念、基本理论和实现技术的理解。

(3)掌握Java开发的主要环境与工具,掌握面向对象的常用控件的使用方法。

(4)初步掌握面向对象系统分析与设计的基本方法和步骤,并能针对简单的实际应用问题进行初步地分析和设计。

(5)掌握Java编程语言,并针对具体应用问题进行编程实现。

(6)通过撰写课程设计论文,锻炼学生科技论文写作能力。

电子英汉词典功能要求:能够编辑词典库中的信息,能够实现英译汉,汉译英(要考虑一词多义)。

该系统主要用于实现英汉互译的功能,先选择是英译汉还是汉译英然后再查询框中查询,该系统会自动弹出匹配信息1.2 选题目的与意义我选择电子英汉互译词典这一课题的目的在于巩固所学JAVA语言编辑基本功,掌握Jdk,Editplus,Eclipse,Jcreator等开发工具的运用,拓宽常用类库的应用。

Java语言是当今流行的网络编程语言,它具有面向对象,跨平台,分布应用等特点,它贴近自然的语言,而且有利于软件的维护和继承。

电子词典-java课设-含可运行程序概要

电子词典-java课设-含可运行程序概要

(3)词库的备份模块:此模块可将已有模块备份,保证数据的安全性。

⑷词库的更新模块:此模块有增、删、改等功能。

可以根据自己需要,为词库添加相应的英文单词和汉语解释,或者对已有单词的词义进行补充、修改或删除。

(5)帮助功能模块:此模块添加了一些使用该软件的方法,当用户在使用时遇到不清楚的问题时,可以点帮助文档,根据提示进行操作。

2.2.2系统总体结构设计图1系统功能框图图3添加功能流程图2.3设计方法231开发环境Java开发工具(Java developmentkit,JDK)是Sun公司所开发的一套 Java程序开发工具软件,它是Sun公司的网站免费取得。

它与 JDK的参考文件同样是编辑Java程序的必备工具。

在编写、编译和运行应用程序时用到eclipse2.3.2功能模块设计图4程序主界面(1)窗口功能说明窗口共有3个主要部分:菜单栏、工具条、显示栏。

菜单栏:包括文件、编辑、帮助菜单。

工具条:包括输入栏和查询、添加、修改、删除、发生按钮显示栏:显示查询单词在词典中的所有解释。

⑵菜单说明文件菜单:包括英汉词典、汉语词典、备份词库、退出功能编辑菜单:包括添加词汇、修改词汇、删除词汇功能。

帮助菜单:关于该软件的一些信息⑶工具栏说明在向输入栏中输入英/中文单词,单击查询按钮,在显示栏中将会显示查找所对应词典中的所有解释。

发音按钮:发音纯正标准。

方便用户更好的记忆朗读单词。

添加、修改、删除按钮:可由用户自行添加、修改和删除词库中的词汇。

⑷显示栏说明显示用户所查询的词义。

右击将出现复制、粘贴等命令。

方便用复制到其它地方进行其它如打印、学习等操作。

2.4数据库设计在开始设计电子词典之前,要做一些准备工作,在 Microsoft Access 2003中,建立个数据库,数据库的名字为english数据库,其中包括一张表。

图5建立Accesss数据库■表仁表此英语单词表有两个属性值,分别是单词和解释。

其中单词字段为主键,保证输入不可以为空。

电子英汉词典java课程设计

电子英汉词典java课程设计

电子英汉词典java课程设计一、课程目标知识目标:1. 让学生掌握Java语言中面向对象编程的基本概念,包括类、对象、继承和封装。

2. 使学生了解电子英汉词典的基本功能需求,如单词查询、添加、修改和删除。

3. 帮助学生理解数据库连接和操作在电子词典中的应用。

技能目标:1. 培养学生运用Java语言设计并实现一个具有基本功能的电子英汉词典系统。

2. 提高学生在编程过程中解决问题的能力,包括分析需求、设计类和接口以及调试程序。

3. 培养学生使用数据库技术进行数据存储和管理的能力。

情感态度价值观目标:1. 激发学生对计算机编程和英语学习的兴趣,提高他们的学习积极性。

2. 培养学生的团队合作精神,使他们学会在项目开发中分工合作、共同解决问题。

3. 培养学生具备良好的编程习惯,关注软件质量,尊重知识产权。

本课程针对高年级学生,他们在前期课程中已经掌握了Java语言基础和面向对象编程。

课程性质为实践性较强的项目设计,要求学生将所学知识应用于实际项目中。

通过本课程的学习,学生能够将理论知识与实践相结合,提高编程能力和英语水平,同时培养良好的情感态度价值观。

课程目标分解为具体学习成果,以便后续教学设计和评估。

二、教学内容1. Java面向对象编程复习:回顾类与对象、继承与多态、封装等基本概念,确保学生能够熟练运用面向对象的思想进行编程。

相关教材章节:第3章 面向对象编程基础、第4章 类与对象、第5章 继承与多态。

2. 数据库基础知识:讲解数据库的基本概念、SQL语句、JDBC连接数据库等,为学生实现电子词典的数据存储和管理打下基础。

相关教材章节:第11章 数据库基础、第12章 SQL语言、第13章 JDBC技术。

3. 电子英汉词典功能需求分析:引导学生分析电子词典的功能模块,如单词查询、添加、修改、删除等,明确项目需求。

相关教材章节:第2章 软件需求分析。

4. 系统设计:教授学生如何设计系统架构、类和接口,根据功能需求划分模块,实现系统设计。

java课程设计英汉词典

java课程设计英汉词典

java课程设计英汉词典一、课程目标知识目标:1. 理解Java面向对象编程的基本概念,掌握类和对象的使用;2. 学会使用Java集合框架存储和管理数据;3. 掌握字符串处理和文件操作相关方法;4. 了解英汉词典的基本结构。

技能目标:1. 能够运用所学知识设计和编写一个简单的英汉词典程序;2. 掌握使用Java编写用户界面,实现与用户的交互;3. 学会使用集合框架对数据进行增删改查操作;4. 能够通过查找、替换等方法对词典数据进行处理。

情感态度价值观目标:1. 培养学生的团队协作意识和沟通能力,提高合作解决问题的能力;2. 激发学生对编程的兴趣,培养自主学习、探究问题的习惯;3. 引导学生关注中英文语言学习,提高跨文化交际能力。

课程性质分析:本课程为Java课程设计,旨在让学生通过实际项目实践,掌握Java编程的基本知识和技能。

英汉词典项目贴近实际生活,能够激发学生的学习兴趣。

学生特点分析:学生已具备一定的Java基础,了解面向对象编程的基本概念,但实际应用能力有待提高。

学生对编程项目具有较强的兴趣和好奇心。

教学要求:1. 结合课本知识,注重实践操作,提高学生的动手能力;2. 引导学生主动思考,培养解决问题的能力;3. 关注学生的情感态度,激发学习兴趣,提高学习积极性。

二、教学内容1. 面向对象编程基础:- 类与对象的概念- 封装、继承与多态2. Java集合框架:- List、Set、Map接口及其实现类- 集合的增删改查操作3. 字符串处理:- 字符串常用方法- 正则表达式4. 文件操作:- 文件读写- 文件路径处理5. 英汉词典项目设计与实现:- 界面设计- 功能模块划分- 数据存储与检索- 词典数据结构设计6. 教学进度安排:- 第1周:面向对象编程基础复习- 第2周:Java集合框架学习与应用- 第3周:字符串处理与文件操作- 第4周:英汉词典项目需求分析、功能设计- 第5周:英汉词典项目开发与调试- 第6周:项目展示与总结教材关联性:教学内容与教材紧密相关,涉及教材中面向对象编程、集合框架、字符串处理和文件操作等章节。

JAVA设计实现电子词典

JAVA设计实现电子词典

两周的课程设计实训我做的是用Java基本程序编写一个简单的电子词典,该程序是一个图形界面连接数据库的英汉字典,其界面主要采用了awt包,程序实现了电子词典的基本功能有:查询、修改,添加词汇并保存修改,添加后的词汇,通过自己的实际动手操作,进一步加深了对Java的理解,电子词典的完成我还了解了市场的需求,培养了自己的学习兴趣。

关键字:Java图形界面,Access数据库,actionPerformed()接口方法,ActionEvent事件目录1需求分析 (4)2. 概要设计 (4)2.1设计思路 (4)2.1.1 系统总体功能模块图 (4)3. 详细设计 (5)3.1 主界面功能 (5)3.2 英译汉功能 (5)3.3 汉译英功能 (6)3.4数据库创建与连接 (6)4. 主要程序源代码 (7)5.调试程序 (13)6.结论 (13)7.参考文献 (14)1需求分析我们的课题是电子词典功能的实现,电子词典作为一种学习工具,有着不可估量的市场前景。

作为一名学生,我们在学习英语的时候会经常碰到很多的生词,有时,为了读懂一篇文章,经常是读文章用一小时,但是其中却有半个小时都在翻阅英语字典。

所以我们小组为了解决这一问题,才将选材方向定位于电子词典的功能实现,主要的目的就是为同学们解决这一问题。

在做电子词典功能实现的时候,我们主要从以下几个方面入手,即:查询,添加,修改,在这几个功能模块上,我们首先提供了一个查询界面,即使用者需要输入要查询的关键字,点击确定按钮,屏幕上就会出现其对应的答案。

在做这个模块的时候,我们主要解决了JAVA与数据库的链接问题,进而实现其功能。

解决了同学们在学习英语过程中遇到的困难,满足了市场的需求。

2. 概要设计2.1设计思路本系统在单词查阅方面主要完成了英译汉功能;在系统性能方面主要完成了单词库的添加、修改、删除,退出功能等。

2.1.1 系统总体功能模块图图形界面的实现:考虑到简单、实用、高效等特点,就选择了AWT来完成实现,在选择组件上,文本编辑区就选用了TaxtArea,TextField,Button作为主要的部件,文本框上使用ActionEvent事件,文本区上实现TextEvent事件,实现接口方法用到了actionPerformeredf方法在设计类的时候,要实现三个系统性能功能,就用了三个类,一个主类和一个默认属性类作为程序的整体框架,所有的对象和方法都是在默认属性类中创建和实现的,以及为各组件注册事件监听程序也是在默认属性类中实现的。

java字典项目文件(源代码1)

java字典项目文件(源代码1)

/** To change this template, choose Tools | Templates* and open the template in the editor.*/package dictionary;import java.io.*;import java.util.ArrayList;import java.util.Collections;import java.util.HashMap;import java.util.List;import java.util.logging.Level;import java.util.logging.Logger;import sun.misc.Sort;/**** @author Administrator*/public class Dictionary {public HashMap<String,String> dictionary;TriNode dict;List<String> unknowList;public Dictionary(){dictionary=new HashMap<String,String>();dict=new TriNode();unknowList=new ArrayList<String>();}public void Init(){readDict();readUnknowList();}public void readDict(){InputStreamReader fr=null;BufferedReader br=null;try{fr=new InputStreamReader (new FileInputStream(new File("dic.txt")),"GBK");br=new BufferedReader(fr);String line="";while((line=br.readLine())!=null){String[] array=line.split(" ");dictionary.put(array[0].toLowerCase(), array[1]);TriTree.insert(dict, array[0].toLowerCase());}catch(Exception e){e.printStackTrace();;}finally{try{br.close();fr.close();}catch(Exception e){e.printStackTrace();}}}public void readUnknowList(){InputStreamReader fr=null;BufferedReader br=null;try{fr=new InputStreamReader (new FileInputStream(new File("unknowdic.txt")),"GBK");br=new BufferedReader(fr);String line="";while((line=br.readLine())!=null){unknowList.add(line);}}catch(Exception e){;}finally{try{br.close();fr.close();}catch(Exception e){}}}public boolean addToUnknowList(String word){if(!unknowList.contains(word)){unknowList.add(word);Collections.sort(unknowList);return true;}return false;}public void saveUnknowToFile(){FileWriter fw=null;BufferedWriter bw=null;fw=new FileWriter("unknowdic.txt");bw=new BufferedWriter(fw);for(int i=0;i<unknowList.size();i++){bw.write(unknowList.get(i)+"\r\n");}bw.flush();}catch(Exception e){}finally{try {bw.close();fw.close();} catch (IOException ex) {}}}public void deleteUnknow(String word){unknowList.remove(word);}public String search(String word){String value="";if( dictionary.containsKey(word)){value=dictionary.get(word);}return value;}}/** To change this template, choose Tools | Templates * and open the template in the editor.*/package dictionary;import java.util.LinkedList;import java.util.List;import javax.swing.DefaultListModel;import javax.swing.JOptionPane;/**** @author Administrator*/public class Search extends javax.swing.JFrame {Dictionary dictionary;/*** Creates new form Search*/public Search() {initComponents();dictionary=new Dictionary();dictionary.Init();}/*** This method is called from within the constructor to initialize the form.* WARNING: Do NOT modify this code. The content of this method is always* regenerated by the Form Editor.*/@SuppressWarnings("unchecked")// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponentsprivate void initComponents() {jTextField1 = new javax.swing.JTextField();jButton1 = new javax.swing.JButton();jScrollPane1 = new javax.swing.JScrollPane();jTextArea1 = new javax.swing.JTextArea();jLabel1 = new javax.swing.JLabel();jLabel2 = new javax.swing.JLabel();jButton2 = new javax.swing.JButton();jScrollPane2 = new javax.swing.JScrollPane();jList1 = new javax.swing.JList();jButton4 = new javax.swing.JButton();jScrollPane3 = new javax.swing.JScrollPane();jList2 = new javax.swing.JList();jLabel3 = new javax.swing.JLabel();jButton3 = new javax.swing.JButton();setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);setTitle("单词本");setLocationByPlatform(true);addWindowListener(new java.awt.event.WindowAdapter() {public void windowClosing(java.awt.event.WindowEvent evt) {formWindowClosing(evt);}});jTextField1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) {jTextField1ActionPerformed(evt);}});jTextField1.addKeyListener(new java.awt.event.KeyAdapter() {public void keyReleased(java.awt.event.KeyEvent evt) {jTextField1KeyReleased(evt);}});jButton1.setText("查询");jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) {jButton1ActionPerformed(evt);}});jTextArea1.setColumns(20);jTextArea1.setRows(5);jScrollPane1.setViewportView(jTextArea1);jLabel1.setText("请输入英文单词:");jLabel2.setText("查询结果:");jButton2.setText("加入生词表");jButton2.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) {jButton2ActionPerformed(evt);}});jList1.addListSelectionListener(new javax.swing.event.ListSelectionListener() { public void valueChanged(javax.swing.event.ListSelectionEvent evt) { jList1ValueChanged(evt);}});jScrollPane2.setViewportView(jList1);jButton4.setText("查看生词表");jButton4.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton4ActionPerformed(evt);}});jScrollPane3.setViewportView(jList2);jLabel3.setText("生词表:");jButton3.setText("删除选中生词");jButton3.setActionCommand("");jButton3.addActionListener(new java.awt.event.ActionListener() {public void actionPerformed(java.awt.event.ActionEvent evt) {jButton3ActionPerformed(evt);}});javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());getContentPane().setLayout(layout);layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addContainerGap().addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L EADING).addGroup(javax.swing.GroupLayout.Alignment.TRAILING,layout.createSequentialGroup().addComponent(jLabel1).addGap(18, 18, 18)).addGroup(javax.swing.GroupLayout.Alignment.TRAILING,layout.createSequentialGroup().addComponent(jLabel2).addGap(30, 30, 30))).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L EADING, false).addGroup(layout.createSequentialGroup().addComponent(jButton2,javax.swing.GroupLayout.PREFERRED_SIZE, 114, javax.swing.GroupLayout.PREFERRED_SIZE).addGap(18, 18, 18).addComponent(jButton4,javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)).addGroup(layout.createSequentialGroup().addComponent(jScrollPane2,javax.swing.GroupLayout.PREFERRED_SIZE, 94, javax.swing.GroupLayout.PREFERRED_SIZE).addGap(18, 18, 18).addComponent(jScrollPane1,javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)).addGroup(layout.createSequentialGroup().addComponent(jTextField1,javax.swing.GroupLayout.PREFERRED_SIZE, 181, javax.swing.GroupLayout.PREFERRED_SIZE).addGap(18, 18, 18).addComponent(jButton1))).addGap(40, 40, 40).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L EADING).addComponent(jLabel3).addComponent(jScrollPane3,javax.swing.GroupLayout.PREFERRED_SIZE, 127, javax.swing.GroupLayout.PREFERRED_SIZE).addGroup(layout.createSequentialGroup().addGap(10, 10, 10).addComponent(jButton3))).addContainerGap(53, Short.MAX_V ALUE)));layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addGap(18, 18, 18).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L EADING).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignm ent.BASELINE).addComponent(jTextField1,javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE).addComponent(jButton1).addComponent(jLabel1)).addGroup(javax.swing.GroupLayout.Alignment.TRAILING,layout.createSequentialGroup().addPreferredGap(ponentPlacement.R ELATED, 8, javax.swing.GroupLayout.PREFERRED_SIZE).addComponent(jLabel3))).addPreferredGap(ponentPlacement.UNRELATED).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L EADING).addGroup(layout.createSequentialGroup().addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Al ignment.TRAILING, false).addComponent(jLabel2,javax.swing.GroupLayout.Alignment.LEADING).addComponent(jScrollPane2,javax.swing.GroupLayout.Alignment.LEADING).addComponent(jScrollPane1,javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 130, javax.swing.GroupLayout.PREFERRED_SIZE)).addGap(18, 18, 18).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Al ignment.BASELINE).addComponent(jButton2).addComponent(jButton4).addComponent(jButton3))).addGroup(layout.createSequentialGroup().addGap(4, 4, 4).addComponent(jScrollPane3,javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))).addContainerGap(48, Short.MAX_V ALUE)));pack();}// </editor-fold>//GEN-END:initComponentsprivate void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed// TODO add your handling code here:String query=jTextField1.getText();String value=dictionary.search(query);System.out.println(value);jTextArea1.setText(dictionary.search(jTextField1.getText()));}//GEN-LAST:event_jButton1ActionPerformedprivate void jTextField1KeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jTextField1KeyReleased// TODO add your handling code here:String query=jTextField1.getText();if(!"".equals(query)){List<String> result = new LinkedList<String>();TriTree.hintSearch(dictionary.dict, query, result);jList1.removeAll();DefaultListModel listModel=new DefaultListModel();for(int i=0;i<result.size();i++){listModel.addElement(result.get(i));}jList1.setModel(listModel);}}//GEN-LAST:event_jTextField1KeyReleasedprivate void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed// TODO add your handling code here:if(jList1.getSelectedValue()!=null){String query=jList1.getSelectedValue().toString();boolean flag=dictionary.addToUnknowList(query);if(flag){JOptionPane.showMessageDialog(null,"添加成功!","消息",RMA TION_MESSAGE);}else{JOptionPane.showMessageDialog(null,"生词已存在!","消息",RMA TION_MESSAGE);}}else{JOptionPane.showMessageDialog(null,"请选中要加入生词表的词!","警告",RMA TION_MESSAGE);}}//GEN-LAST:event_jButton2ActionPerformedprivate void jList1ValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_jList1ValueChanged// TODO add your handling code here:if(jList1.getSelectedValue()==null)return;String query=jList1.getSelectedValue().toString();String value=dictionary.search(query);jTextArea1.setText(value);}//GEN-LAST:event_jList1ValueChangedprivate void formWindowClosing(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowClosing// TODO add your handling code here:dictionary.saveUnknowToFile();}//GEN-LAST:event_formWindowClosingprivate void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton4ActionPerformed// TODO add your handling code here:DefaultListModel listModel=new DefaultListModel();for(int i=0;i<dictionary.unknowList.size();i++){String query=dictionary.unknowList.get(i);String result=dictionary.search(query);listModel.addElement(query+" "+result);}jList2.setModel(listModel);}//GEN-LAST:event_jButton4ActionPerformedprivate void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed// TODO add your handling code here:if(jList2.getSelectedValue()==null)return;String word=jList2.getSelectedValue().toString().split(" ")[0];dictionary.deleteUnknow(word);DefaultListModel listModel=new DefaultListModel();for(int i=0;i<dictionary.unknowList.size();i++){String query=dictionary.unknowList.get(i);String result=dictionary.search(query);listModel.addElement(query+" "+result);}jList2.setModel(listModel);}//GEN-LAST:event_jButton3ActionPerformedprivate void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTextField1ActionPerformed// TODO add your handling code here:}//GEN-LAST:event_jTextField1ActionPerformed/*** @param args the command line arguments*/public static void main(String args[]) {/** Set the Nimbus look and feel*///<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">/** If Nimbus (introduced in Java SE 6) is not available, stay with the* default look and feel. For details see* /javase/tutorial/uiswing/lookandfeel/plaf.html*/try {for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {if ("Nimbus".equals(info.getName())) {javax.swing.UIManager.setLookAndFeel(info.getClassName());break;}}} catch (ClassNotFoundException ex) {java.util.logging.Logger.getLogger(Search.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);} catch (InstantiationException ex) {java.util.logging.Logger.getLogger(Search.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);} catch (IllegalAccessException ex) {java.util.logging.Logger.getLogger(Search.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);} catch (javax.swing.UnsupportedLookAndFeelException ex) {java.util.logging.Logger.getLogger(Search.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);}//</editor-fold>/** Create and display the form*/java.awt.EventQueue.invokeLater(new Runnable() {public void run() {new Search().setVisible(true);}});}// Variables declaration - do not modify//GEN-BEGIN:variablesprivate javax.swing.JButton jButton1;private javax.swing.JButton jButton2;private javax.swing.JButton jButton3;private javax.swing.JButton jButton4;private javax.swing.JLabel jLabel1;private javax.swing.JLabel jLabel2;private javax.swing.JLabel jLabel3;private javax.swing.JList jList1;private javax.swing.JList jList2;private javax.swing.JScrollPane jScrollPane1;private javax.swing.JScrollPane jScrollPane2;private javax.swing.JScrollPane jScrollPane3;private javax.swing.JTextArea jTextArea1;private javax.swing.JTextField jTextField1;// End of variables declaration//GEN-END:variables }/** To change this template, choose Tools | Templates* and open the template in the editor.*/package dictionary;import java.util.LinkedList;/**** @author Administrator*/public class TriNode {public int count=0;public LinkedList<TriNode> triLink;public char ch;public TriNode(char ch){this.ch=ch;triLink=new LinkedList<TriNode>();}public TriNode(){triLink=new LinkedList<TriNode>();}}/** To change this template, choose Tools | Templates* and open the template in the editor.*/package dictionary;import java.io.*;import java.util.Iterator;import java.util.LinkedList;import java.util.List;import java.util.Scanner;import java.util.logging.Level;import java.util.logging.Logger;/**** @author Administrator*/public class TriTree {public static void insert(TriNode root, String str) {boolean end, find;TriNode node = null;TriNode tmpNode = root;for (int i = 0; i < str.length(); i++) {end = false;find = false;List<TriNode> triLink = tmpNode.triLink;if (i == (str.length() - 1)) {end = true;}char ch = str.charAt(i);Iterator<TriNode> iterator = triLink.iterator();while (iterator.hasNext()) {node = iterator.next();if (node.ch == ch) {find = true;break;}}if (find) {tmpNode = node;}else {TriNode tri_node = new TriNode(ch);triLink.add(tri_node);tmpNode = tri_node;}if (end) {root.count++;}}}public static TriNode creat_TriTree(String fileName) throws IOException { InputStreamReader fr=null;BufferedReader br=null;TriNode root = new TriNode();try{fr=new InputStreamReader (new FileInputStream(new File("dic.txt")),"GBK");br=new BufferedReader(fr);String str ;while((str=br.readLine()) != null) {insert(root, str.split(" ")[0].toLowerCase());}} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}finally {br.close();}return root;}public static void traverse(TriNode root,String preStr, List<String> result) { String array ="";visit(array,root.triLink.iterator(),result,preStr);}public static void visit(String array, Iterator<TriNode> iterator,List<String> result,String preStr) {if (!iterator.hasNext()) {result.add(preStr + array);//System.out.println(preStr+array);} else {while (iterator.hasNext()) {TriNode node = iterator.next();array += node.ch;visit(array, node.triLink.iterator(),result,preStr);array= array.substring(0, array.length()-1);}}}public static boolean hintSearch(TriNode root,String query,List<String> result) { boolean isFind=false;TriNode tmpNode = root;String preStr="";boolean find;for (int i = 0; i < query.length(); i++) {find = false;char ch = query.charAt(i);List<TriNode> triLink = tmpNode.triLink;Iterator<TriNode> iterator = triLink.iterator();TriNode node = null;while (iterator.hasNext()) {node = iterator.next();if (node.ch == ch){find=true;preStr +=node.ch;break;}}if (find) {tmpNode = node;}else {isFind= false;return isFind;}}traverse(tmpNode,preStr, result);return true;}public static void main(String [] args) {TriNode dict =null;try {dict = TriTree.creat_TriTree("dict.txt");} catch (IOException ex) {Logger.getLogger(TriTree.class.getName()).log(Level.SEVERE, null, ex);}List<String> result = new LinkedList<String>();TriTree.hintSearch(dict, "c", result);for(int i = 0; i<result.size();i++)System.out.println(result.get(i));System.out.println(dict.count);System.out.println();}}把它们弄成四个”.java”文件,在Eclipse上建立一个项目,复制到项目上就可以运行了。

JAVA电子英汉词典课程设计

JAVA电子英汉词典课程设计
4、1程序流程图9
4、2关键算法与技术实现11
5、1系统测试方案20
5、2运行结果分析21
六、设计体会ﻩ25
一、设计任务与要求
1
通过本课程设计实践,达到以下目得:
(1)培养学生严谨务实得工作态度,并在老师得指导下,提高分析问题与解决问题得能力,促进理论联系实际学风养成.
(2)巩固与加深对面向对象程序设计得基本概念、基本理论与实现技术得理解.
(3)掌握Java开发得主要环境与工具,掌握面向对象得常用控件得使用方法。
(4)初步掌握面向对象系统分析与设计得基本方法与步骤,并能针对简单得实际应用问题进行初步地分析与设计。
(5)掌握Java编程语言,并针对具体应用问题进行编程实现.
(6)通过撰写课程设计论文,锻炼学生科技论文写作能力.
电子英汉词典
明确各功能之间得联系,绘制出数据流程图,如下图所示:
4
菜单窗口
classDataWindowextendsJFrameimplementsActionListener
try{
ﻩfis =new(fromfile);
ﻩﻩﻩintbytesRead;//定义变量来存储输入流中读取出来得文件
ﻩﻩﻩbyte[]buf =newbyte[4*1024];//4K buffer
ﻩ}
ﻩcatch(ClassNotFoundException e){}
//建立桥接器
Connection Ex1Con= DriverManager、getConnection("jdbc:odbc:03”,"”,””);
ﻩStatement Ex1Stmt=Ex1Con、createStatement();
(1)硬件环境

java课程设计——英汉电子词典编程

java课程设计——英汉电子词典编程

java课程设计——英汉电子词典编程————————————————————————————————作者:————————————————————————————————日期:Java课程设计-—英汉电子词典一、需求分析二十世纪后半叶,以电子计算机为代表的现代科学获得了突飞猛进的发展并迅速和人们的日常生活结合在一起。

计算机技术的发展和进步也使电子语言词典的诞生成为可能.我们日常的学习生活中,常会遇到这样的问题:在工作时或在网上冲浪,或者电子邮箱中收到一封外国朋友发的英文E-mail,遇到某些陌生的单词,可又疲于去翻查厚重的英文字典时,电脑中所安装的英汉电子词典便成为了最为方便、快捷的选择。

电子词典是一种多功能的词典类工具软件,它可以即时翻译,快速、准确、详细地查阅英文单词,或将中文单词进行英文翻译,使自己的知识面拓展得更宽、更广。

尽管电子词典只有十来年的历史,但它却已经发展壮大,成为词典家族中具有旺盛生命力的一员。

虽然目前它尚不足以取代传统词典,但在英语学习和教学中,由于它实用、快捷、准确、经济等特点,已经成为传统英汉词典的有力竞争者,并对传统的词典提出了挑战.本系统是一个采用Microsoft Access作为数据库,用JAVA作为开发工具的英汉电子词典,内有英汉词典、汉英词典和备份词库。

它不仅可实现英译汉、汉译英的基本翻译功能,还可以让用户根据自己的需要添加、修改、删除词库,形成自己的词库.其功能结构图如图1.1所示:图1.1 功能结构图功能模块说明:1、英译汉功能模块说明:可以实现对英文单词对中文单词的查询功能。

用户文本框中输入要查询的英语单词。

若该单词存在于词库中,则会在文件对话框中显示其词性及中文翻译;若该单词没有存在于词库中,则会弹出“警告”,说明“查无此词”;若没有输入直接点击“查询”,则会弹出“警告”,说明“查询对象不能为空”。

2、汉译英功能模块说明:可以实现对中文单词对英文单词的查询功能。

java代码 英汉小词典

java代码 英汉小词典

import java.awt.*;import .*;import java.sql.*;import java.awt.event.*;import java.io.*;import java.util.Calendar;class DataWindow extends Frame implements ActionListener{ TextField searchWord_tField,expWord_tField,searchChineseField,expEnglishField,updWord_tField,updExpWord_tField,addNewWord_tField,addExpWord_tField;Button search_button,update_button,add_button,searchChinese_buton;int search_record=0;Connection Con=null;Statement Stmt=null;DataWindow(){ super("英汉小词典");setBounds(150,150,600,400);setVisible(true);message_log("DataWindow Start : ");try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){}try{Con=DriverManager.getConnection("jdbc:odbc:data","lixuanxian","123");Stmt=Con.createStatement();message_log("Stmt="+Stmt);}catch(SQLException ee) {}searchWord_tField=new TextField(16);expWord_tField=new TextField(16);searchChineseField=new TextField(16);expEnglishField=new TextField(16);updWord_tField=new TextField(16);updExpWord_tField=new TextField(16);addNewWord_tField=new TextField(16);addExpWord_tField=new TextField(16);searchChinese_buton=new Button("确定");search_button=new Button("查询");update_button=new Button("更新");add_button=new Button("添加");Panel p1=new Panel(),p2=new Panel(),p3=new Panel(),p4=new Panel(),pset=new Panel(new GridLayout(5,2));p1.add(new Label("输入要查询的英语单词:"));p1.add(searchWord_tField);p1.add(new Label("显示英语单词的汉语解释:"));p1.add(expWord_tField);p1.add(search_button);p4.add(new Label("输入要查询的汉语:"));p4.add(searchChineseField);p4.add(new Label("显示英语单词的英文解释:"));p4.add(expEnglishField);p4.add(searchChinese_buton);p2.add(new Label("输入英语单词:"));p2.add(updWord_tField);p2.add(new Label("输入该单词更新的汉语解释:"));p2.add(updExpWord_tField);p2.add(update_button);p3.add(new Label("输入英语单词:"));p3.add(addNewWord_tField);p3.add(new Label("输入汉语解释:"));p3.add(addExpWord_tField);p3.add(add_button);pset.add(p1);pset.add(p4);pset.add(p2);pset.add(p3);add(pset);search_button.addActionListener(this);update_button.addActionListener(this);add_button.addActionListener(this);searchChinese_buton.addActionListener(this);addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e){ setVisible(false);System.exit(0);}});}public void actionPerformed(ActionEvent e){if (e.getSource()==search_button){search_record=0;try { query();}catch (SQLException ee) {}}else if (e.getSource()==update_button){try { modify();}catch (SQLException ee) {}}else if (e.getSource()==add_button){try { addNew();}catch (SQLException ee) {}}else if (e.getSource()==searchChinese_buton){try { queryChinese();}catch (SQLException ee) {}}}public void query() throws SQLException{message_log("query start");String cname, ename,text="'"+searchWord_tField.getText().trim()+"'";Con=DriverManager.getConnection("jdbc:odbc:data","lixuanxian","123");message_log("Con="+Con);ResultSet rs=Stmt.executeQuery("SELECT * FROM dict where English="+text);int n=0;message_log("in query : n="+n);while (rs.next()){message_log("while start " );ename=rs.getString("English"); cname=rs.getString("Chinese");message_log(ename+" "+cname);if(ename.trim().equals(searchWord_tField.getText().trim())){message_log("equal");message_log("in query : ename="+ename+" cname="+cname);expWord_tField.setText(cname);search_record=1;break;}message_log("not equal");}if(search_record==0){expWord_tField.setText("没有该单词");}}public void queryChinese() throws SQLException{message_log("queryChinese start");String cname, ename,text="'"+searchChineseField.getText().trim()+"'";Con=DriverManager.getConnection("jdbc:odbc:data","lixuanxian","123");message_log("Con="+Con);ResultSet rs=Stmt.executeQuery("SELECT * FROM dict where Chinese="+text);int n=0;message_log("in query : n="+n);while (rs.next()){message_log("while start " );ename=rs.getString("English"); cname=rs.getString("Chinese");message_log(cname+" "+ename);if(cname.trim().equals(searchChineseField.getText().trim())){message_log("equal");message_log("in query : cname="+cname+"ename="+ename);expEnglishField.setText(ename);search_record=1;break;}message_log("not equal");}if(search_record==0){expEnglishField.setText("没有该词语");}}public void modify() throws SQLException{message_log("modify start");String s1="'"+updWord_tField.getText().trim()+"'",s2="'"+updExpWord_tField.getText().trim()+"'";String temp="UPDATE dict SET Chinese=" +s2+" WHERE English= "+s1;Con=DriverManager.getConnection("jdbc:odbc:data","lixuanxian","123");Stmt.executeUpdate(temp);updWord_tField.setText(null);updExpWord_tField.setText(null);Con.close();}public void addNew() throws SQLException{message_log("addNew start");String s1="'"+addNewWord_tField.getText().trim()+"'",s2="'"+addExpWord_tField.getText().trim()+"'";String temp="INSERT INTO dict VALUES("+ s1+", "+s2+")";Con=DriverManager.getConnection("jdbc:odbc:data","lixuanxian","123");Stmt.executeUpdate(temp);addNewWord_tField.setText(null);addExpWord_tField.setText(null);Con.close();}public void message_log(String msg){try {java.util.Date RightNow = Calendar.getInstance().getTime();java.text.SimpleDateFormat LOG_FILENAME_SDF=new java.text.SimpleDateFormat("yyyyMMdd");java.text.SimpleDateFormat SMS_LOG_DETAIL_TIME=new java.text.SimpleDateFormat("yyyy/MM/dd HH:mm:ss ");// get the Log File LocationFileOutputStream fos;fos = new FileOutputStream("F:\\李选贤\\java\\英汉小词典\\log\\"+LOG_FILENAME_SDF.format(RightNow) + "_Database.log" ,true);PrintWriter pw = new PrintWriter(fos);pw.print(SMS_LOG_DETAIL_TIME.format(RightNow));pw.println(" " + msg);pw.close();fos.close();} catch (Exception ex) {System.out.println(msg);System.out.println("SMSMsgLog: Error \r\n"+ex.getMessage());ex.printStackTrace();}}}public class dictionary{public static void main(String args[]){DataWindow window1=new DataWindow();window1.pack();}}。

JAVA电子英汉词典课程设计报告

JAVA电子英汉词典课程设计报告

课程设计报告课程设计名称Java程序设计专业_____________________________班级_____________________________学号____________________________姓名__________________________指导教师__________________________成绩_____________________________年月日目录、设计任务与要求1. 1.1设计任务与要求 1. 1.2 选题目的与意义1. 、需求分析2.. 2.1用户需求分析 .2. 2.2 开发环境分析.3. 三、系统设计 4.. 3.1 系统总体设计 .4. 3.2 功能模块设计 .5. 3.3 类的设计 6.. 3.4 数据库设计.9. 四、程序实现 1..1. 五、测试运行 六、设计体会4.1程序流程图 4.2 关键算法与技术实现 4.3 类与数据结构实现5.1系统测试方案 5.2 运行结果分析 .1..1. .1..3. .2..7.. 2..8.. .2..8. .2..9. 3..3..、设计任务与要求1.1 设计任务与要求通过本课程设计实践,达到以下目的:(1)培养学生严谨务实的工作态度,并在老师的指导下,提高分析问题和解决问题的能力,促进理论联系实际学风养成。

(2)巩固和加深对面向对象程序设计的基本概念、基本理论和实现技术的理解。

(3)掌握Java 开发的主要环境与工具,掌握面向对象的常用控件的使用方法。

(4)初步掌握面向对象系统分析与设计的基本方法和步骤,并能针对简单的实际应用问题进行初步地分析和设计。

(5)掌握Java编程语言,并针对具体应用问题进行编程实现。

(6)通过撰写课程设计论文,锻炼学生科技论文写作能力。

电子英汉词典功能要求:能够编辑词典库中的信息,能够实现英译汉,汉译英(要考虑一词多义)。

该系统主要用于实现英汉互译的功能,先选择是英译汉还是汉译英然后再查询框中查询,该系统会自动弹出匹配信息1.2 选题目的与意义我选择电子英汉互译词典这一课题的目的在于巩固所学JAVA语言编辑基本功,掌握Jdk, Editplus,Eclipse,Jcreator等开发工具的运用,拓宽常用类库的应用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java英汉电子字典课程设计源代码
用户需求分析:
英汉词典作为一个常见的学习工具,是我们经常要使用的。

该系统能完成一个简单的电子词的功能。

该系统主要用于实现英汉互译的功能,系统拥有自己的数据库。

1.英译汉功能:我们能够先选择让系统进行英译汉功能,然后在查找框中输入想要查询的英文单词,系统将自动在数据库中查找匹配记录并给出相对应的汉语意思。

2.汉译英功能:我们能够在系统中选择汉译英功能,然后在查找框中输入想要查询的汉语意思,系统将自动在数据库中查找匹配记录并给出相对应的英文单词
3.词汇的添加功能:用户能够添加词库内没有的单词及其解释。

添加成功后该单词将在次库内保存,以便下次查询。

4.词汇的修改功能;用户能够实现对词库中已有单词及其解释的修改。

修改后的结果将保存在词库中。

5.词汇的删除功能;用户可自行删除词库中已有的单词,同时次单词的解释也将被一同删除。

6.其它功能:另外,系统还具有帮助和关于等功能,用来辅助用户更方便简洁的使用电子词典。

package dianzicidian;
import java.awt.*;
import .*;
import java.sql.*;
import java.awt.event.*;
import javax.swing.JOptionPane;
import java.io.*;
import sun.audio.*;
class dzcd extends Frame implements ActionListener
{
MenuBar menubar=new MenuBar();//菜单
Menu fileMenu,editMenu,helpMenu;
MenuItem fileenglish,filechinese,exit,editAdd,editmod,editDel;
TextField inputtext;
TextArea txt;
Label label1,label2;
Button btn1,btnsound;
Panel p,p1,p2,p3;
dzcd()
{
super("电子词典");
setBounds(200,300,350,400);
setMenuBar(menubar);
fileMenu=new Menu("文件"); editMenu=new Menu("编辑"); helpMenu=new Menu("帮助");
fileenglish=new MenuItem("英汉词典"); filechinese=new MenuItem("汉英词典"); exit=new MenuItem("退出");
editAdd=new MenuItem("添加词汇"); editmod=new MenuItem("修改词汇"); editDel=new MenuItem("删除词汇");
menubar.add(fileMenu);
menubar.add(editMenu);
menubar.add(helpMenu);
fileMenu.add(fileenglish);
fileMenu.add(filechinese);
fileMenu.addSeparator();
fileMenu.add(exit);
editMenu.add(editAdd);
editMenu.add(editmod);
editMenu.add(editDel);
inputtext=new TextField("",10);
txt=new TextArea(10,10);
label1=new Label("输入要查询的英语单词:"); label2=new Label("查询结果:");
btn1=new Button("查询");
btnsound=new Button("发音");
p=new Panel(new BorderLayout());
p2=new Panel(new FlowLayout(FlowLayout.LEFT,5,0));
p2.add(label1);
p2.add(inputtext);
p2.add(btn1);
p2.add(btnsound);
add(p2,"North");
p.add(label2,"North");
p.add(txt,"Center");
add(p,"Center");
setVisible(true);
setResizable(false);
validate();
fileenglish.addActionListener(this);
filechinese.addActionListener(this);
exit.addActionListener(this);
editAdd.addActionListener(this);
editmod.addActionListener(this);
editDel.addActionListener(this);
btn1.addActionListener(this);
btnsound.addActionListener(this);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==fileenglish)//英汉(外观变化)
{
label1.setText("输入要查询的英语单词:");
label2.setText("查询结果:");
txt.setText("");
btn1.setLabel("查询");
btnsound.setVisible(true);
}
else if(e.getSource()==filechinese)//汉英(外观变化)
{
label1.setText("输入要查询的汉语词语:");
label2.setText("查询结果:");
txt.setText("");
btn1.setLabel("查询");
btnsound.setVisible(true);
}
else if(e.getSource()==exit)//退出
{
System.exit(0);
}
else if(e.getSource()==btn1)
{
if(btn1.getLabel().equals("查询"))//实现查询功能(包括英汉或汉英)。

相关文档
最新文档