中英版软件java课程设计报告(1)
- 格式:doc
- 大小:900.50 KB
- 文档页数:18
java英语学cai课程设计一、课程目标知识目标:1. 学生能够掌握Java编程基础词汇,如变量、循环、条件语句等英语表达。
2. 学生能够理解并运用英语进行简单的Java代码编写。
3. 学生能够掌握计算机辅助教学(CAI)软件的基本操作及相关英语指令。
技能目标:1. 学生能够运用英语进行Java编程知识的查询和交流。
2. 学生能够运用CAI软件进行自主学习,提高编程技能。
3. 学生能够通过小组合作,用英语讨论并解决Java编程问题。
情感态度价值观目标:1. 培养学生积极的学习态度,激发他们对编程及英语学习的兴趣。
2. 培养学生的团队合作精神,让他们在合作中互相学习、共同成长。
3. 培养学生的创新意识,鼓励他们用英语思考和解决编程问题。
课程性质:本课程为选修课,结合Java编程和英语学习,通过CAI软件辅助教学,提高学生的编程能力和英语应用能力。
学生特点:学生为初中年级,具备一定的英语基础,对计算机和编程感兴趣,具有较强的学习欲望。
教学要求:教师需关注学生的个体差异,采用分层教学,使学生在轻松愉快的氛围中学习Java编程英语,提高他们的实践操作能力和跨学科学习能力。
通过明确的学习目标,确保学生能够达到预期的学习成果,为后续教学和评估提供依据。
二、教学内容本课程教学内容分为四个部分,确保教学内容科学、系统,并与课本紧密结合。
第一部分:Java基础英语词汇学习(2课时)1. 变量、数据类型及运算符的英语表达。
2. 条件语句(if、else if、else)和循环(for、while)的英语语法结构。
第二部分:CAI软件操作及相关英语指令(2课时)1. 认识并熟练操作CAI软件,学习相关英语指令。
2. 使用CAI软件进行Java编程基础知识的学习和练习。
第三部分:Java编程实践(4课时)1. 运用所学英语词汇和语法,进行简单的Java代码编写。
2. 分析实例代码,理解程序结构和逻辑。
3. 小组合作,用英语讨论并解决编程过程中的问题。
java课程设计英汉双语词典一、教学目标本课程的教学目标是使学生掌握Java编程的基本技能,能够运用Java语言开发简单的英汉双语词典应用程序。
具体目标如下:1.知识目标:–理解Java语言的基本语法和结构。
–掌握面向对象编程的基本概念和方法。
–了解英汉双语词典的基本结构和实现方式。
2.技能目标:–能够使用Java语言编写简单的程序。
–能够运用面向对象编程的方法设计程序。
–能够独立完成英汉双语词典的编程实现。
3.情感态度价值观目标:–培养学生的编程兴趣和自信心。
–培养学生解决问题的能力和团队合作精神。
–培养学生对编程技术和计算机科学的热爱。
二、教学内容本课程的教学内容主要包括Java语言的基本语法和结构、面向对象编程的方法、英汉双语词典的基本结构和实现方式。
具体教学大纲如下:1.Java语言的基本语法和结构:–数据类型、变量和运算符。
–控制结构和函数。
–数组和字符串的操作。
2.面向对象编程的方法:–类的定义和创建。
–属性和方法的封装。
–继承和多态的应用。
3.英汉双语词典的基本结构和实现方式:–词典的数据结构和存储方式。
–词条的添加、删除和查找操作。
–词典的界面设计和用户交互。
三、教学方法本课程的教学方法主要包括讲授法、案例分析法和实验法。
具体方法如下:1.讲授法:通过讲解和演示的方式,向学生传授Java语言的基本语法和结构、面向对象编程的方法以及英汉双语词典的基本结构和实现方式。
2.案例分析法:通过分析具体的英汉双语词典案例,让学生理解和掌握词典的编程实现方法。
3.实验法:通过实验和实践的方式,让学生动手编写Java程序,培养学生的编程技能和解决问题的能力。
四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备。
具体资源如下:1.教材:选用《Java编程基础》作为主教材,介绍Java语言的基本语法和结构、面向对象编程的方法。
2.参考书:推荐《Java核心技术》等参考书,供学生深入学习和参考。
课程设计报告课程设计名称Java语言程序设计专业信息管理与信息系统目录一、设计分析 (1)二、数据流程图 (1)三、操作方法及试验结果 (2)1、菜单窗口 (2)2、查询 (2)3、添加 (3)4、修改 (3)5、删除 (4)6、帮助 (4)四、设计体会 (5)一、设计分析英汉电子词典作为一个常用的学习工具,系统应该能完成词典的功能。
该系统主要用于实现英汉互译和编辑词典库中的信息的功能,系统拥有自己的数据库。
三、操作方法及试验结果(1)此窗口为菜单窗口,用户可在此窗口内选择应用的内容。
其中文件目录中包括:英汉词典,汉英词典,备份文库。
编辑目录中包括:添加,修改,删除。
(2)用户可在窗口内输入要查询的单词或中文意思,输入完毕后点击查询将出现次单词的解释或中文对应的单词。
如输入的单词不存在词库中,则显示查无此单词。
(3)若用户需要在词库中添加新的单词,则选择单词的添加。
用户可输入想要添加的单词及其解释。
单击确定后,次单词保存在词库中。
(4)用户想要修改词库中已存在的单词,可选择单词的修改。
用户可对该单词及其解释进行修改。
修改并保存后单击确定,系统将提示用户记录修改成功。
(5)想要删除词库中已存在的单词,可选择单词的删除。
输入想要删除的单词,点击确定后,此单词及其解释一并删除。
删除后,系统提示用户单词删除成功,若没有找到要删除的单词,系统提示用户不存在此单词。
(6)用户可点击帮助来更好的了解电子词典的功能及其用法。
五、设计体会经过这次不到两周的课程设计真的让我们感触颇多啊!首先,知识方面,经过大二上学期一学期的学习,让我们对java的基础知识和操作环境和平台有了初步的了解和认识,但是这次设计中还是遇到了很多问题,尤其是数据库的创建和连接部分,由于以前接触这部分知识比较少,这次用到时感觉很陌生,我们在图书馆查阅了很多资料,并上网查询一些相关资料,功夫不负有心人,最后大家的努力终于看到了成果,这次成功不仅让我们的课程设计得以成功,更重要的是掌握了更多以前不熟悉的知识,为以后的学习和实践打下基础。
Java程序设计课程设计报告院别:计算机系班级:XXXX学号: ******XXXXX姓名: XXX指导教师:XXX日期:2013-5-24目录1概述 (3)1.1实验题目和内容 (3)1.2实验目的和要求 (3)2计算器的设计与实现 (4)2.1程序步骤 (4)2.2程序源代码 (4)3运行调试及讨论分析 (4)4实验小结与心得 (12)1概述1.1设计目的及思路通过本课程设计能够较全面的掌握面向对象程序设计的有关概念和开发方法,以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力。
利用Java Applet图形界面首先开始设计一个计算器的界面,定义计算器所需要的按钮并赋给其按钮名称,使得使用计算器时简单明了,清晰可见,操作轻松。
给各个按钮进行算法,利用鼠标点击事件,当鼠标点击某个按钮时就开始执行那个按钮所定义的算法,生成数据并显示。
除数字的输入为直接进行输入外,其他运算例如+、-、*、/、开平方等算法要求计算时通过内部较为复杂的运算将结果显示在显示屏上。
当然了在输入数据时还要进行异常捕捉,防止越界的现象的发生,这也是Java语言健壮性的体现!1.2功能模块设计以下为标准计算器的基本功能:(1)加法两个数据进行加操作,可以为小数。
(2)减法两个数据进行减操作,可以为负数相减。
(3)乘法两个数相乘操作。
(4)除法两个数相除操作(5)清零将运算框清除(6)返回退回一格2计算器的设计与实现2.1程序界面2.2程序源代码import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;public class Calculator extends JFrame implements ActionListener{JPanel vv1,vv2,vv3,vv4;JTextField kk1 ; //添加数字框和符号框JButton[] r={new JButton("7"),new JButton("8"),new JButton("9"),new JButton("/"),new JButton("4"),new JButton("5"),new JButton("6"),new JButton("*"),new JButton("1"),new JButton("2"),new JButton("3"),new JButton("-"),new JButton("0"),new JButton("."),new JButton("+"),new JButton("="),new JButton("←"),new JButton("清空")};double a=0,b=0,c=0,fuhao=5;Boolean has=false;Boolean hav=true;Boolean haw=true;Calculator(String S){setTitle(S);kk1=new JTextField("0",20);kk1.setEditable(false);kk1.setFont(new Font("宋体",Font.BOLD,25));kk1.setBackground(Color.YELLOW);for(int i=16;i<18;i++){r[i].setFont(new Font("黑体",Font.BOLD,15));r[i].setForeground(Color.blue);}vv1=new JPanel(new GridLayout(4,5,5,5));vv2=new JPanel(new GridLayout(1,2,1,1));vv3=new JPanel(new FlowLayout());vv4=new JPanel(new BorderLayout());vv3.add(kk1);vv4.add(vv2,BorderLayout.NORTH);vv4.add(vv1,BorderLayout.CENTER);for(int i=0;i<16;i++)r[i].setForeground(Color.black);this.add(vv3,BorderLayout.NORTH);this.add(vv4,BorderLayout.CENTER);for(int i=16;i<18;i++)vv2.add(r[i]);for(int i=0;i<16;i++)vv1.add(r[i]);for(int i=0;i<18;i++)r[i].addActionListener(this);for(int i=16;i<18;i++){setSize(350,300);setLocation(210,205);setResizable(false);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }public void actionPerformed(ActionEvent e){if(e.getSource()==r[12]){ if(hav&&haw&&!kk1.getText().equals("0"))kk1.setText(kk1.getText()+"0");else {kk1.setText("");kk1.setText(kk1.getText()+"0");hav=true;haw=true;}}else if(e.getSource()==r[8]){ if(hav&&haw&&!kk1.getText().equals("0"))kk1.setText(kk1.getText()+"1");else {kk1.setText("");kk1.setText(kk1.getText()+"1");hav=true;haw=true;}}else if(e.getSource()==r[9]){ if(hav&&haw&&!kk1.getText().equals("0"))kk1.setText(kk1.getText()+"2");else {kk1.setText("");kk1.setText(kk1.getText()+"2");hav=true;haw=true;}}else if(e.getSource()==r[10]){ if(hav&&haw&&!kk1.getText().equals("0"))kk1.setText(kk1.getText()+"3");else {kk1.setText("");kk1.setText(kk1.getText()+"3");hav=true;haw=true;}}else if(e.getSource()==r[4]){ if(hav&&haw&&!kk1.getText().equals("0")) kk1.setText(kk1.getText()+"4");else {kk1.setText("");kk1.setText(kk1.getText()+"4");hav=true;haw=true;}}else if(e.getSource()==r[5]){ if(hav&&haw&&!kk1.getText().equals("0")) kk1.setText(kk1.getText()+"5");else {kk1.setText("");kk1.setText(kk1.getText()+"5");hav=true;haw=true;}}else if(e.getSource()==r[6]){ if(hav&&haw&&!kk1.getText().equals("0")) kk1.setText(kk1.getText()+"6");else {kk1.setText("");kk1.setText(kk1.getText()+"6");hav=true;haw=true;}}else if(e.getSource()==r[0]){ if(hav&&haw&&!kk1.getText().equals("0")) kk1.setText(kk1.getText()+"7");else {kk1.setText("");kk1.setText(kk1.getText()+"7");hav=true;haw=true;}}else if(e.getSource()==r[1]){ if(hav&&haw&&!kk1.getText().equals("0")) kk1.setText(kk1.getText()+"8");else {kk1.setText("");kk1.setText(kk1.getText()+"8");hav=true;haw=true;}}else if(e.getSource()==r[2]){ if(hav&&haw&&!kk1.getText().equals("0")) kk1.setText(kk1.getText()+"9");else {kk1.setText("");kk1.setText(kk1.getText()+"9");hav=true;haw=true;}} //数字键else if(e.getSource()==r[14]){if(kk1.getText().trim().length()>0){ a=Double.valueOf(kk1.getText());kk1.setText("");fuhao=0;has=true;hav=true;haw=false;}else if(!haw){fuhao=0;}}//+else if(e.getSource()==r[11]){if(kk1.getText().trim().length()>0){ a=Double.valueOf(kk1.getText());kk1.setText("");fuhao=1;has=true;hav=true;haw=false;} else if(!haw){fuhao=1; }}//-else if(e.getSource()==r[7]){if(kk1.getText().trim().length()>0){ a=Double.valueOf(kk1.getText());kk1.setText("");fuhao=2;has=true;hav=true;haw=false;} else if(!haw){fuhao=2;}}//*else if(e.getSource()==r[3]){if(kk1.getText().trim().length()>0){ a=Double.valueOf(kk1.getText());kk1.setText("");fuhao=3;has=true;hav=true;haw=false;} else if(!haw){fuhao=3;}}// 运算符号/else if(e.getSource()==r[15]){if(kk1.getText().length()>0&&has){b=Double.valueOf(kk1.getText()); // =if(fuhao==0){c=a+b;kk1.setText(String.valueOf(c));has=false;hav=false;}else if(fuhao==1){c=a-b;kk1.setText(String.valueOf(c));has=false;hav=false;}else if(fuhao==2){c=a*b;kk1.setText(String.valueOf(c));has=false;hav=false;}else if(fuhao==3){ if(b!=0){c=a/b;kk1.setText(String.valueOf(c));}else JOptionPane.showMessageDialog(null, "除数不能为0");has=false;hav=false;}}} // 计算else if(e.getSource()==r[13]){if(kk1.getText().indexOf(".")==-1&&kk1.getT ext().length()>0) kk1.setText(kk1.getText()+".");} //添加小数点else if(e.getSource()==r[16]){if(kk1.getText().length()>1)kk1.setText(kk1.getT ext().substring(0, kk1.getText().length()-1));else kk1.setText("0");hav=true;} //Backspaceelse if(e.getSource()==r[17]){kk1.setText("0");has=false;hav=true;}}// CEpublic static void main(String[] args){new Calculator("计算器");}}3运行调试及讨论分析将代码写好之后检查代码的正确性,检查代码无误后将代码进行调试和运行将会出现一个JavaApplet计算器界面。
Java课程设计——英汉电子词典一、需求分析二十世纪后半叶,以电子计算机为代表的现代科学获得了突飞猛进的发展并迅速和人们的日常生活结合在一起。
计算机技术的发展和进步也使电子语言词典的诞生成为可能。
我们日常的学习生活中,常会遇到这样的问题:在工作时或在网上冲浪,或者电子邮箱中收到一封外国朋友发的英文E-mail,遇到某些陌生的单词,可又疲于去翻查厚重的英文字典时,电脑中所安装的英汉电子词典便成为了最为方便、快捷的选择。
电子词典是一种多功能的词典类工具软件,它可以即时翻译,快速、准确、详细地查阅英文单词,或将中文单词进行英文翻译,使自己的知识面拓展得更宽、更广。
尽管电子词典只有十来年的历史,但它却已经发展壮大,成为词典家族中具有旺盛生命力的一员。
虽然目前它尚不足以取代传统词典,但在英语学习和教学中,由于它实用、快捷、准确、经济等特点,已经成为传统英汉词典的有力竞争者,并对传统的词典提出了挑战。
本系统是一个采用Microsoft Access作为数据库,用JAVA作为开发工具的英汉电子词典,内有英汉词典、汉英词典和备份词库。
它不仅可实现英译汉、汉译英的基本翻译功能,还可以让用户根据自己的需要添加、修改、删除词库,形成自己的词库。
其功能结构图如图1.1所示:英语小词典文件编辑英汉词典汉英词典备份词库退出添加词汇修改词汇删除词汇图1.1功能结构图功能模块说明:1、英译汉功能模块说明:可以实现对英文单词对中文单词的查询功能。
用户文本框中输入要查询的英语单词。
若该单词存在于词库中,则会在文件对话框中显示其词性及中文翻译;若该单词没有存在于词库中,则会弹出“警告”,说明“查无此词”;若没有输入直接点击“查询”,则会弹出“警告”,说明“查询对象不能为空”。
2、汉译英功能模块说明:可以实现对中文单词对英文单词的查询功能。
用户可在文本框中输入要查询的中文单词。
若该单词存在于词库中,则会在文件对话框中显示一个或多个对应的英文;若该单词没有存在于词库中,则会弹出“警告”,说明“查无此词”;若没有输入直接点击“查询”,则会弹出“警告”说明“查询对象不能为空”。
java程序设计实践报告2000字(中英文实用版)英文文档:Java Programming Practice Report - 2000 WordsIntroduction:This report aims to document my practical experience in Java programming.Over the course of several weeks, I have engaged in various coding exercises and projects to enhance my skills and understanding of Java.The following report will outline the key concepts learned, challenges faced, and insights gained during this practice period.1.Basic Syntax and Concepts:To begin my Java journey, I familiarized myself with the basic syntax and concepts of the language.This included understanding variables, data types, conditional statements, loops, and functions.I practiced writing simple programs to reinforce these concepts and gradually moved on to more complex scenarios.2.Object-Oriented Programming:Java is a firmly typed, object-oriented language, which emphasizes the use of classes and objects.I explored the principles of encapsulation, inheritance, and polymorphism through various examples.I implemented classes, defined methods, and constructed objects to gain a deeper understanding of object-oriented programming principles.3.Data Structures and Algorithms:To enhance my problem-solving skills, I focused on learning different data structures and algorithms.I studied arrays, linked lists, stacks, queues, trees, and graphs.I implemented various sorting and searching algorithms, such as bubble sort, insertion sort, selection sort, and binary search.These exercises helped me improve my ability to analyze and optimize code for efficiency and performance.4.File Handling:File handling is a crucial aspect of programming, and Java provides robust libraries for working with files and directories.I learned how to read from and write to files using classes like FileReader, FileWriter, and BufferedReader.I practiced implementing file handling in different scenarios, such as reading input from a text file or writing output to a log file.5.Exception Handling:Exception handling is essential for writing robust and error-free code.In Java, exceptions are classified into checked and unchecked exceptions.I learned how to handle checked exceptions using try-catch blocks and声明throws 关键字.I also explored the use of finally blocks and exception chaining to ensure proper resource management and error handling.6.Java Libraries and Frameworks:Java has a vast ecosystem of libraries and frameworks that simplify development.I became familiar with popular libraries like Apache Commons, JavaMail, and JSON.I also delved into frameworks like Spring and Hibernate, which provide powerful tools for building enterprise-level applications.7.Debugging and Code Optimization:To improve my coding skills, I focused on debugging and code optimization.I utilized integrated development environments (IDEs) like Eclipse and IntelliJ IDEA to identify and fix errors in my code.I also learned various techniques for optimizing code, such as minimizing redundant code, using appropriate data structures, and leveraging built-in Java libraries.Conclusion:Throughout this Java programming practice report, I have highlighted my journey of learning and implementing various Java concepts.From basic syntax to advanced techniques, this practice period has significantly enhanced my understanding of Java programming.I have gained practical experience, overcome challenges, and acquired valuable insights that will undoubtedly aid me in my future Java development endeavors.中文文档:Java编程实践报告——2000字引言:本报告旨在记录我在Java编程实践中的经验。
JAVA语言课程设计报告目录1. 课程设计介绍 (2)1.1 课程设计的目的和意义 (2)1.2 实验环境介绍 (3)2. 课程设计项目概述 (4)2.1 项目背景及设立的目的 (5)2.2 用户需求分析 (6)2.3 功能模块划分 (7)3. Java语言基础知识回顾 (7)3.1 Java程序的基础概述 (8)3.2 Java开发环境搭建 (9)3.3 基本语法及常用数据类型 (10)3.4 类与对象的基本知识 (11)3.5 常用API介绍 (11)4. 项目开发过程 (11)4.1 设计方案 (13)4.2 项目需求分析 (14)5. 课程设计关键技术应用 (15)5.1 错误处理机制 (16)5.2 数据库应用 (17)6. 类库及设计模式的应用 (17)6.1 Java类库的基础知识 (19)6.2 设计模式的功能与应用 (20)7. 课程设计总结与展望 (21)7.1 课程设计总结 (22)7.2 缺陷分析与解决方案 (23)7.3 课程设计展望 (23)1. 课程设计介绍本课程设计旨在通过实际项目实践,让学生深入理解和掌握语言的核心编程技能和设计思想。
本次设计选择了一个具有实际应用背景的项目作为案例,即“简易在线考试系统”。
该系统旨在模拟现实中的在线考试流程,实现考生在线答题、自动评分、成绩查询等功能。
本次课程设计以语言为基础,结合框架、数据库等技术,引导学生从需求分析、系统设计、编码实现到系统测试的完整软件开发流程。
通过本课程设计,学生能够:在本次课程设计中,学生将独立完成系统需求分析、系统设计、编码实现、测试与优化等环节,最终提交一个功能完善、性能稳定的在线考试系统。
通过这一过程,学生不仅能够巩固和提升自身的编程能力,还能培养解决实际问题的能力和创新思维。
1.1 课程设计的目的和意义课程设计目的在于深入理解语言的核心概念与实际应用,通过具体的项目实施巩固和应用课堂上所学的知识点。
课程设计报告课程设计名称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课程设计一、课程目标知识目标: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. 系统设计:教授学生如何设计系统架构、类和接口,根据功能需求划分模块,实现系统设计。
《JA V A程序设计》课程设计题目:GUI综合运用系院:计算机科学系专业:计算机科学与技术年级:成员:完成日期:2010年6月20日指导教师:1、课程设计内容、要求及分组情况总体简介本小组是第四组,组长是徐彪,组成员有:刘雪峰,彭真勇,张政,王青,朱利鹏,崔洪畅。
小组的本次课程设计是一个综合性的课程设计,包括有游戏,如:俄罗斯方块、拼图游戏、连连看等;还有各种工具,如:计算器、画图、时钟等。
每一个人都有自己要做的学习任务。
将本次课程设计的功能实现结构图如下:本次课程设计是一个综合性的设计,在主要设计中又包含多个不同的项目,我们组的主函数界面如下:英文版和中文版在界面上方的工具栏中具有不同的选择,大家可以根据自己的爱好进行不同的选择。
界面有两种语言可供选择,一种是英语,一种是简体中文: ;Tool中包括计算器,画图,日历等多种工具,,游戏中也包含俄罗斯方块,拼图和连连看三个游戏。
Picture中有各种图片选项这是我们小组整个课程设计中所能够实现的一些相关功能。
2、概要设计:2.1 开发工具及环境本次课程设计是在Myeclipse工具下完成。
该工具重要是用于java程序的实现,故对我们实现本次课程设计有很重要的作用。
2.2 任务及需求分析任务是完成一个具有多功能的课程设计,将本学期所学内容在本次课程设计中得到较好的应用。
该课程设计主要有两大任务,一是实现办公中常用的一些工具,二是实现一些大家日常生活中经常使用的游戏。
需求分析:2.3 功能模块设计主要功能是创建使用工具和改进一些游戏。
该课程设计共分为六大模块,分别为文件,工具,游戏,图片观赏,中英切换,关于。
文件中只有一个功能就是退出该程序运行;工具中主要实现了计数器,日历,编辑器,图片查看器,时钟,画图,打字游戏;游戏中主要实现了俄罗斯方块,拼图游戏,连连看等游戏;图片观赏中实现动物图片,植物图片,名车图片观赏,中英切换主要是实现两种语言的不同界面;关于是对本小组成员的简介等。
《JA V A程序设计》课程设计题目:GUI综合运用系院:计算机科学系专业:计算机科学与技术年级:成员:完成日期:2010年6月20日指导教师:1、课程设计内容、要求及分组情况总体简介本小组是第四组,组长是徐彪,组成员有:刘雪峰,彭真勇,张政,王青,朱利鹏,崔洪畅。
小组的本次课程设计是一个综合性的课程设计,包括有游戏,如:俄罗斯方块、拼图游戏、连连看等;还有各种工具,如:计算器、画图、时钟等。
每一个人都有自己要做的学习任务。
将本次课程设计的功能实现结构图如下:本次课程设计是一个综合性的设计,在主要设计中又包含多个不同的项目,我们组的主函数界面如下:英文版和中文版在界面上方的工具栏中具有不同的选择,大家可以根据自己的爱好进行不同的选择。
界面有两种语言可供选择,一种是英语,一种是简体中文: ;Tool中包括计算器,画图,日历等多种工具,,游戏中也包含俄罗斯方块,拼图和连连看三个游戏。
Picture中有各种图片选项这是我们小组整个课程设计中所能够实现的一些相关功能。
2、概要设计:2.1 开发工具及环境本次课程设计是在Myeclipse工具下完成。
该工具重要是用于java程序的实现,故对我们实现本次课程设计有很重要的作用。
2.2 任务及需求分析任务是完成一个具有多功能的课程设计,将本学期所学内容在本次课程设计中得到较好的应用。
该课程设计主要有两大任务,一是实现办公中常用的一些工具,二是实现一些大家日常生活中经常使用的游戏。
需求分析:2.3 功能模块设计主要功能是创建使用工具和改进一些游戏。
该课程设计共分为六大模块,分别为文件,工具,游戏,图片观赏,中英切换,关于。
文件中只有一个功能就是退出该程序运行;工具中主要实现了计数器,日历,编辑器,图片查看器,时钟,画图,打字游戏;游戏中主要实现了俄罗斯方块,拼图游戏,连连看等游戏;图片观赏中实现动物图片,植物图片,名车图片观赏,中英切换主要是实现两种语言的不同界面;关于是对本小组成员的简介等。
3、具体实现:3.1 类设计程序中有两个主函数,分别是中文和英文两种语言的功能实现。
由于各个块内的程序代码太长,在此便不显示出来,具体请参看与文档一起的程序压缩包。
下面就几个我们小组有特色的部分予以解释。
一、在游戏这一模块中,包括俄罗斯方块,拼图和连连看游戏。
在这里主要介绍拼图和连连看游戏,这也是我们本小组中较有特色的功能实现。
在拼图中,我们实现了两个游戏,一个是功夫熊猫2的图片,另一个是长江七号的图片,都是大家近日非常喜爱看的电影。
首先以下是游戏实现的界面:以上两个游戏的代码几乎完全相同,导入了不同的两个图片。
两者都是用一个Container包含两个Panel,其中一个Panel中是完整的图片,另一个则用于凌乱图片的拼接。
Container中运用GridLayout(1,2)进行布局,将两个Panel加入其中,用于完整图片的Panel,运用GridLayout(1,1)进行布局,另一个运用GridLayout(3,3)进行布局。
当把图片拼好之后程序会显示出共用多少步成功和用了多少时间实现了拼图。
具体重要的代码如下:private static final long serialVersionUID = 1L;private JButton buttons[][];// 存储按键的数组private Container container2;// 一个容器private JPanel container;private GridLayout layout;// 布局方式为GridLayoutprivate GridLayout layout2;private int count = 0, is[] = new int[8];// count的作用是计算按键移动的次数,is[]储存一个随机产生的1到8数字数组private long time1=0,time2=0;public Games() {super("拼图游戏");// 设置标题time1=System.currentTimeMillis();JButton pic=new JButton(new ImageIcon("0.jpg"));JPanel p=new JPanel(new GridLayout(1,1));p.add(pic);layout = new GridLayout(3,3 );// 3行3列container=new JPanel();container2 =this.getContentPane();// 该容器的布局方式,及其重要,否则产生空引用异常container2.setLayout(new GridLayout(1,2));container2.add(container);container2.add(p);container.setLayout(layout);//container.add(container2,BorderLayout.WEST);// 将该布局方式作用于容器…………buttons[i][j] = new JButton(newImageIcon(is[temp++]+".jpg"));container.add(buttons[i][j]);}buttons[i][j].addActionListener(this);// 注册监听事件}}…………public void actionPerformed(ActionEvent event) {// 事件处理,由于计算量小该处将所有按键单独分析JButton b = (JButton) event.getSource();if (b == buttons[0][0]) {if (buttons[0][1].getText().equals("9")) {buttons[0][1].setIcon(buttons[0][0].getIcon());buttons[0][1].setText("");buttons[0][1].setVisible(true);buttons[0][0].setText("9");buttons[0][0].setVisible(false);count++;} else if (buttons[1][0].getText().equals("9")) {buttons[1][0].setIcon(buttons[0][0].getIcon());buttons[1][0].setText("");buttons[1][0].setVisible(true);buttons[0][0].setText("9");buttons[0][0].setVisible(false);count++;}…………连连看程序:程序运行的界面如下:连连看该游戏较为简单,分别实现了退出,重列和再来一局三个功能,在界面上方是游戏所获得分数,主要代码如下:public class lianliankan implements ActionListener{JFrame mainFrame; //主面板Container thisContainer;……public void init(){mainFrame=new JFrame("JKJ连连看");thisContainer = mainFrame.getContentPane();thisContainer.setLayout(new BorderLayout());centerPanel=new JPanel();southPanel=new JPanel();northPanel=new JPanel();…………southPanel.setBackground(Color.lightGray);southPanel.add(exitButton);southPanel.add(resetButton);southPanel.add(newlyButton);northPanel.setBackground(Color.magenta);fractionLable.setText(String.valueOf(Integer.parseInt(fractionLable.getText()))); northPanel.add(fractionLable);mainFrame.setBounds(200,100,500,300);mainFrame.setVisible(true);}…………public void randomBuild() {int randoms,cols,rows;for(int twins=1;twins<=15;twins++) {randoms=(int)(Math.random()*25+1);for(int alike=1;alike<=2;alike++) {cols=(int)(Math.random()*6+1);rows=(int)(Math.random()*5+1);while(grid[cols][rows]!=0) {cols=(int)(Math.random()*6+1);rows=(int)(Math.random()*5+1);}this.grid[cols][rows]=randoms;}}}…………public void actionPerformed(ActionEvent e) {if(e.getSource()==newlyButton){int grid[][] = new int[8][7];this.grid = grid;randomBuild();mainFrame.setVisible(false);pressInformation=false;init();}……}/*public static void main(String[] args) {lianliankan llk = new lianliankan();llk.randomBuild();llk.init();}*/}二、主界面特色主界面我们通过利用布局管理器中的CardLayout的布局管理方式,使得在主界面上加入累加按钮,这使得主界面不再单调,再通过菜单项中的选项进行选择使得界面内容更加丰富。
部分界面如下主要代码如下:container=new Container();container.setLayout(myCard);container=this.getContentPane();myCard=new CardLayout();container.setLayout(myCard);button1=new JButton(new ImageIcon("0.jpg"));button2=new JButton(new ImageIcon("a1.jpg"));button3=new JButton(new ImageIcon("a2.jpg"));button4=new JButton(new ImageIcon("h3.jpg"));button5=new JButton(new ImageIcon("m5.jpg"));button6=new JButton(new ImageIcon("a12.jpg"));button7=new JButton(new ImageIcon("m4.jpg"));button8=new JButton(new ImageIcon("m2.jpg"));button1.addMouseListener(new MouseListenerDemo());button2.addMouseListener(new MouseListenerDemo());button3.addMouseListener(new MouseListenerDemo());button4.addMouseListener(new MouseListenerDemo());button5.addMouseListener(new MouseListenerDemo());button6.addMouseListener(new MouseListenerDemo());button7.addMouseListener(new MouseListenerDemo());button8.addMouseListener(new MouseListenerDemo());container.add("first",button1);container.add("second",button2);container.add("third",button3);container.add("fourth",button4);container.add("fifth",button5);container.add("sixth",button6);container.add("seventh",button7);container.add("eighth",button8);this.setContentPane(container);…………4、运行调试与分析讨论在完成本次课程设计过程中,小组成员积极参与讨论,不断地修改,当然在实现过程中我们不免会遇到这样或那样的问题,但我们小组积极讨论,认真实践。