JAVA课程设计报告6

合集下载

java课程设计报告

java课程设计报告

java课程设计报告
本次Java课程设计项目主题为“学生成绩管理系统”,通过本次课程设计项目,我们深入学习了Java编程语言和面向对象编程思想。

1. 需求分析
学生成绩管理系统是一款基于数据库的应用程序,为学校教务管理部门提供学生信息、课程信息、成绩信息的管理功能。

该系统需要能够实现添加、修改、删除、查询以上信息,并且能够生成有意义的报表。

2. 总体设计
学生成绩管理系统的总体设计采用了三层架构,分为表现层、业务逻辑层、数据访问层。

其中,表现层采用了JavaFX框架,业务逻辑层使用了JavaBean和Service类的方式进行设计,数据访问层使用了JDBC技术进行数据库连接和操作。

3. 详细设计
在表现层设计中,我们使用了JavaFX框架提供的Scene Builder设计界面,采用了Fxml文件的方式进行加载。

在业务逻辑
层和数据访问层设计中,我们使用了JavaBean的技术,采用了面
向对象编程的思想,通过定义JavaBean和Service类,来实现数据的操作和处理。

在数据库操作中,我们使用了JDBC技术,同时
采用了连接池技术来提高数据库连接的效率。

4. 系统测试
在系统测试中,我们主要运用了黑盒测试和白盒测试两种方法,通过对系统的功能、界面、操作、性能进行测试,并对测试结果
进行分析和修复,最后保证系统的稳定性和可靠性。

5. 总结
通过本次课程设计项目,我们深入了解了Java编程语言和面向
对象编程思想,同时提高了我们的编程设计能力和团队协作能力。

在未来的学习和工作中,我们会继续深化对Java编程语言的了解,更好地将其应用于实际项目中。

java课程设计报告

java课程设计报告

java课程设计报告随着Java言的不断发展,越来越多的编程人员开始使用 Java开发应用程序,这就催生出了一种新的课程 Java程设计。

本文旨在通过总结 Java程设计的过程及其相关知识,以便于编程人员以及研究者对 Java程设计有一个更深入的了解。

首先,要完成 Java程设计,需要了解 Java语言特性和编程工具。

这里不仅要掌握 Java言本身的知识,还要熟悉 Java架和测试框架,这样才能开发出能够完成各种任务的应用程序。

此外,学习Java程设计的人还需要具备一定的网络知识,这样可以更好地了解Java程设计的用途,以及 Java发的环境,否则,将很难完成 Java程设计。

其次,要开始 Java程设计,设计人员要先明确设计内容,比如要设计的应用程序的功能、界面要求等,还要考虑安全性、可维护性等方面,以确保设计出来的程序在实际应用中能够如预期般完成任务。

之后,设计人员就可以根据设计内容,编写 Java序,实现功能。

此时,设计人员要根据需求分析,合理安排代码结构,并确定需要用到的类库和技术;同时,实现功能时也要注意代码质量,要遵守 Java 程的规范,要避免出现内存泄漏等问题。

最后,在完成 Java程设计之后,设计人员要进行测试,确保程序能够完成预期任务。

这里可以使用基于 Junit(Java元测试框架)的测试框架,测试各个类的接口和输出内容,以确保程序功能正常,做到稳定可靠。

总的来说,要完成 Java程设计,不仅要有良好的 Java言和编程工具的基础知识,还要了解 Java发的环境,还要具备一定的网络知识,最后要仔细的进行测试,确保设计出来的程序稳定可靠,才能完成 Java程设计。

总之,很明显,Java程设计并不容易,但所能学到的知识也丰富多样,对于以后的研究和工作也有很大的帮助,因此,建议编程人员考虑学习 Java程设计,来拓展自己的知识面和应用能力。

java课程设计报告

java课程设计报告

计算机与信息工程系《Java课程设计》报告专业班级学号姓名报告完成日期指导教师网络聊天室一、设计任务与目标现在社会是信息化的社会,什么都追求着快、新、好。

在这种快节奏的生活方式中,人们之间的通讯联系就显得非常的重要了。

商业之间的合作,人们之间的友谊交往,甚至热门谈到的网上恋爱等等都需要通讯联系。

而过去的鸿雁传书已经是满足不了现代人的欲望了。

既然这网络这么的流行,过去的联系方式又这么的落后,因此人们的目光就转向了网络通讯。

聊天工具就是一种网上很普遍但是又很重要的通讯方式。

本聊天软件旨在为同一局域网用户间提供便利的局域网服务,局域网用户可以通过此聊天软件在各终端相互发送聊天信息,同时可以快速传送文件,方便局域网用户间的快速有效通信。

二、.设计思路整体方案的制定聊天工具的系统运行图基本设计思想:采用客户机/服务器(C/S)结构。

即通信双方一方作为服务器等待客户提出请求并予以响应。

客户则在需要服务时向服务器提出申请。

服务器一般作为守护进程始终运行,监听网络端口,一旦有客户请求,就会启动一个服务进程来响应该客户,同时自己继续监听服务端口,使后来的客户也能及时得到服务。

客户端的设计用户之间通过UDP连接来实现用户间的通讯.每个用户在该聊天工具进入主界面时便创建一个线程,无限监听其他好友发来的消息,如果某个好友发来消息,便接受该消息并弹出聊天界面和显示其发来的消息.聊天消息的接受的部分的核心程序流程如下图所示:图聊天消息的接受的部分的核心程序流程聊天消息的发送的部分的核心程序流程如下图所示:图聊天消息的发送的部分的核心程序流程服务器端的设计服务器与客户间通过套接口Socket(TCP)连接。

在java中使用套接口相当简单,Java API为处理套接口的通信提供了一个类.Socket.,使得编写网络应用程序相对容易.服务器采用多线程以满足多用户的请求,通过JDBC与后台数据库连接,并通过创建一个ServerSocket对象来监听来自客户的连接请求,默认端口为8888,然后无限循环调用accept()方法接受客户程序的连接。

java课程设计报告

java课程设计报告

java课程设计报告Java课程设计报告。

一、引言。

Java作为一种跨平台的编程语言,具有广泛的应用领域和强大的功能,因此在计算机专业课程中占据着重要的地位。

本次课程设计旨在通过对Java语言的学习和实践,提高学生对于面向对象程序设计的理解和应用能力,同时锻炼学生的编程实践能力和团队协作能力。

二、课程设计内容。

1. 课程设计主题。

本次课程设计的主题为“学生成绩管理系统的设计与实现”。

通过该主题的设计,旨在让学生通过实际的项目开发,掌握Java语言的基本语法和面向对象的编程思想,同时对软件开发的整个流程有一个清晰的认识。

2. 课程设计目标。

(1)掌握Java语言的基本语法和面向对象的编程思想;(2)了解软件开发的整个流程,包括需求分析、设计、编码、测试和维护;(3)培养学生的团队协作能力和解决问题的能力;(4)通过实际项目的开发,提高学生的编程实践能力。

三、课程设计过程。

1. 需求分析。

首先,团队成员对学生成绩管理系统的功能需求进行了详细的分析和讨论,确定了系统的基本功能模块,包括学生信息管理、课程信息管理、成绩管理等。

通过需求分析,明确了系统的功能和性能需求,为后续的设计和编码工作奠定了基础。

2. 系统设计。

在需求分析的基础上,团队成员进行了系统的整体设计和模块设计。

通过UML建模工具,绘制了系统的用例图、类图、时序图等,明确了各个模块之间的关系和交互流程。

同时,团队成员还对数据库的设计进行了详细的讨论和设计,确定了数据库的表结构和字段。

3. 编码实现。

在系统设计完成后,团队成员按照设计文档进行了编码实现工作。

在编码的过程中,严格按照Java语言的规范进行编码,同时注重代码的可读性和可维护性。

通过团队的协作和沟通,确保了各个模块的功能实现和整体功能的完整性。

4. 测试与调试。

在编码实现完成后,团队成员进行了系统的测试与调试工作。

通过单元测试、集成测试和系统测试,发现并修复了系统中存在的各种问题和bug。

java课程设计报告

java课程设计报告

《程序语言综合课程设计》报告专业:计算机科学与技术班级: 072班学号: 21号姓名:石林宾时间:目录课程设计任务书 ................................................. - 5 -题目一 Hannoi塔................................................ - 6 -1.设计内容及要求........................................... - 6 -汉诺塔算法的基本要求 ................................... - 6 -需实现的主要功能 ....................................... - 6 -2. 需求分析................................................. - 6 -界面及布局设计 ......................................... - 6 -A、B、C 座的实现方法 ................................... - 7 -圆盘的实现方法 ......................................... - 7 -添加背景音乐的方法 ..................................... - 7 -改变背景和盘子颜色的方法 ............................... - 7 -设置时间方法 ........................................... - 7 -文件保存方法 ........................................... - 8 -3.总体设计................................................. - 8 -总体功能图 ............................................. - 8 -总体流程图 ............................................. - 9 -4.主要功能设计流程........................................ - 10 -A、B、C 座实现流程图 .................................. - 10 -圆盘画法流程图 ........................................ - 10 -添加背景音乐流程图 .................................... - 10 -改变背景颜色流程图 .................................... - 11 -改变盘子颜色流程图 .................................... - 11 -改变盘子数目流程图 .................................... - 12 -改变最大和最小盘子大小流程图 .......................... - 12 -文件保存流程图 ........................................ - 13 -5.代码实现................................................ - 13 -类之间关系图 .......................................... - 13 -运行效果图 ............................................ - 14 -程序打包发布过程 ...................................... - 16 -6.总结与说明.............................................. - 16 -7.部分原代码(见附录1) .................................. - 16 -题目二中国象棋(C/S版)...................................... - 17 -1.设计内容及要求.......................................... - 17 -中国象棋的基本要求 .................................... - 17 -需实现的主要功能 ...................................... - 17 -2.需求分析................................................ - 18 -数据库设计 ............................................. - 18 -服务器端和客户端的数据传输方式 ......................... - 19 -服务器端功能设计 ...................................... - 19 -客户端功能设计 ......................................... - 20 -3.总体设计................................................ - 20 -总体功能图 ............................................ - 20 -总体流程图 ............................................ - 21 -4. 详细设计................................................ - 22 -功能分析和描述 ........................................ - 22 -中国象棋功能模块 ...................................... - 22 -用户登陆注册模块 ...................................... - 24 -聊天模块 .............................................. - 25 -5. 算法设计................................................ - 26 -算法概述 .............................................. - 26 -棋盘、棋子绘制的算法设计 ............................... - 27 -棋种走棋规则的算法设计 ................................ - 27 -棋子拖动规则的算法设计 ................................ - 33 -悔棋的算法设计 ........................................ - 34 -6.代码实现................................................ - 35 -类之间关系图 .......................................... - 35 -运行效果图 ............................................ - 36 -程序打包发布过程 ...................................... - 39 -7.总结与说明.............................................. - 40 -8.部分原代码(见附录2) .................................. - 40 -题目三标准化考试系统 ......................................... - 41 -1.设计内容及要求.......................................... - 41 -标准化考试系统的基本要求 .............................. - 41 -需实现的主要功能 ...................................... - 41 -2.需求分析................................................ - 42 -数据库设计 ............................................. - 42 -服务器端和客户端的数据传输方式 ......................... - 42 -服务器端功能设计 ...................................... - 43 -客户端功能设计 ......................................... - 43 -3.总体设计................................................ - 45 -总体功能图 ............................................ - 45 -总体流程图 ............................................ - 46 -4.数据库设计.............................................. - 47 -数据库及表结构的建立 .................................. - 47 -JAVA 数据库的连接 ..................................... - 48 -5. 主要功能设计流程........................................ - 48 -服务器端设计流程图 ..................................... - 48 -客户端设计流程图 ....................................... - 49 -6.代码实现................................................ - 50 -类之间关系图 ........................................... - 50 -运行效果图 ............................................ - 51 -程序打包发布过程 ...................................... - 56 -7. 总结与说明.............................................. - 57 -8.部分原代码(见附录3) .................................. - 57 -附录1 汉诺塔部分源代码........................................ - 58 -附录2 中国象棋(C/S版)部分源代码 .............................. - 65 -附录3 标准化考试系统部分源代码................................ - 68 -课程设计任务书课程设计目的:利用所学高级语言的语法特性,结合数据结构算法、网络知识、文件处理和数据库等知识完成综合题目的设计和代码实现,并培养锻炼分析程序、撰写报告等能力。

Java程序设计课程设计报告

Java程序设计课程设计报告

课程设计报告( Java程序设计)设计题目信号灯年级专业2010 级计科一班学生姓名XXX指导老师谭军2012 年 1月一、课程设计的目的课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。

提高学生适应实际,实践编程的能力。

二、课程设计内容:陈述说明程序设计的任务,强调的是程序做什么?明确规定:输入的形式与输入值的范围输出的形式程序所能达到的功能三、概要设计你的设计思路说明本程序中用到的所有数据的定义、程序的流程图以及各程序模块之间的层次(调用)关系。

四、详细设计列出关键代码的设计与分析,关键代码后必须有中文注释。

五、用户使用说明说明如何使用你编写的程序,详细列出每一步的操作步骤。

六、测试结果列出你的测试结果,包括输入和输出。

这里的测试数据应该完整和严格,最好多于需求分析中所列。

注意事项:课程设计成绩评定依据以下方面:1题目的难度系数2程序完成,调试顺利通过,可正常进行,能达到设计功能要求。

3写出《汇编语言程序设计》课程设计说明书。

课程设计说明书要求采用统一稿纸,可手写,有条件亦可上机打印,认真、清晰、不得潦草。

说明书应包括以下内容和项目:1)封面;2)课程设计的题目,本设计所实现的功能简述。

3)主要的设计思想简述。

4)主要程序的框图。

5)源程序代码(要求在关键的位置注释,从而增加程序的可读性)。

6)总结报告,主要包括以下内容:a.课程设计中所遇到的主要问题和解决方法。

b.创新和得意之处。

c.课程设计中存在的不足,需要进一步改进的设想。

d.课程设计的感想和心得体会。

7)参考文献4面试成绩课程设计最后一天安排面试。

检查源程序以及查看运行情况,对关键代码进行询问、考察。

5 学生完成课程设计的实际情况,包括是否独立完成(特别要求),认真态度、考勤 , 遵守纪律等方面。

6 本课程设计按优秀 , 良好 , 中等 , 及格和不及格五级评定成绩.进度安排依照教学计划,课程设计时间为 1 周。

java课程设计报告

java课程设计报告

java课程设计报告1. 引言Java作为一种全球广泛使用的编程语言,具有跨平台、可靠性强、安全性高等优点,因而备受程序员和开发者的青睐。

本篇报告旨在对我所参与的Java课程设计进行总结和评估,分享学习过程中的经验和收获,以及对未来的展望。

2. 项目背景本次课程设计项目是一个在线购物平台的开发,团队共有3名成员,我们合作进行了2个月的开发工作。

通过这个项目,我学到了许多Java编程的实践经验,不仅提高了编程技能,也增进了团队合作和沟通能力。

3. 设计过程在设计初期,我们进行了需求分析和系统设计。

我们通过与用户进行会议和讨论,了解了用户的需求和期望。

然后,我们进行了功能拆解和流程设计,使用UML建模工具绘制了用例图和类图,明确了系统的整体结构。

4. 技术选型在技术选型上,我们选择了Spring框架作为项目的基础框架,使用了Spring Boot来简化开发流程。

为了实现用户认证和授权功能,我们使用了Spring Security。

此外,为了提高系统性能和扩展性,我们采用了Spring Cloud微服务架构,使用了Eureka作为注册中心、Ribbon作为负载均衡器。

5. 开发实践在开发过程中,我们遵循了面向对象的编程思想,并且使用了版本控制工具Git,实现了团队的协同开发。

我们按照模块划分任务,每个成员负责一个或多个模块的开发。

通过定期的代码审查和团队会议,我们保持了代码的质量和一致性。

6. 问题与挑战在项目开发中,我们也遇到了一些问题和挑战。

例如,数据一致性的处理、性能优化、多线程并发等。

但通过团队成员的共同努力和合作,我们成功地克服了这些问题,并取得了较好的开发效果。

7. 项目成果与展望在项目完成后,我们实现了一个功能完备、用户友好的在线购物平台。

用户可以注册、登录、浏览商品、下订单并进行支付等操作。

同时,我们也考虑到了扩展性和性能优化的问题,系统具备一定的容错和弹性。

未来,我们希望能继续完善和优化这个系统,并根据用户的反馈做出进一步的改进。

java课程设计实验报告

java课程设计实验报告

java课程设计实验报告在Java课程设计实验报告中,我们将讨论一个关于学生信息管理系统的实验。

学生信息管理系统是一个常见的课程设计题目,通过这个实验,我们可以学习到如何使用Java语言进行程序设计和开发,以及如何利用数据库进行数据管理。

本实验将涉及到Java语言的基本知识,包括面向对象的编程思想、GUI界面设计、数据库连接等方面的内容。

首先,我们需要明确学生信息管理系统的功能需求。

在这个实验中,我们需要实现对学生信息的增加、删除、修改和查询功能。

同时,我们还需要考虑到学生信息的存储和管理,这就需要用到数据库。

在设计学生信息管理系统时,我们需要考虑到系统的易用性、稳定性和安全性,这些都是一个好的软件系统应该具备的特点。

接下来,我们将讨论学生信息管理系统的设计思路。

首先,我们需要设计系统的整体架构,包括系统的模块划分、模块之间的关联关系等。

然后,我们需要设计系统的数据库结构,包括学生信息表的字段设计、索引设计等。

在数据库设计完成后,我们可以开始编写Java程序,实现对数据库的连接和操作。

在编写程序时,我们需要考虑到程序的健壮性和可维护性,这就需要我们编写规范的代码,并进行适当的注释。

在实验过程中,我们还需要进行系统的测试和调试。

测试是一个软件开发过程中非常重要的环节,通过测试,我们可以发现系统中的bug并及时进行修复。

在测试过程中,我们需要进行功能测试、性能测试、安全测试等,以保证系统的稳定性和安全性。

最后,我们需要对整个实验过程进行总结和反思。

我们可以总结实验中遇到的问题和解决方法,以及对系统进行的改进和优化。

通过这个实验,我们不仅可以学习到Java编程和数据库操作的知识,还可以提高我们的问题分析和解决能力,这对我们以后的学习和工作都是非常有益的。

总之,学生信息管理系统的设计与实现是一个非常有意义的实验课题,通过这个实验,我们可以提高我们的编程能力,加深对Java语言和数据库的理解,同时也可以培养我们的团队合作意识和问题解决能力。

java课程设计报告(完整版)

java课程设计报告(完整版)

目录1、摘要2、概要设计3、详细设计4、测试分析5、总结6、参考文献【前言】Java不依赖平台的特点使得它受到广泛的关注,Java已成为网络时代最重要的语言之一。

Java语言不仅是一门正在被广泛使用的编程语言,而且已成为软件设计开发者应当掌握的一门基础语言。

目前,很多新的技术领域都涉及Java语言,国内外许多大学已将Java语言列入了本科教学计划,掌握Java已经成为共识。

本次课程设计就是利用java语言来编写简单的计算器,能进行加、减、乘、除四则运算,下面给出了该设计的理论分析和具体步骤。

一、摘要本计算器可以进行简单的四则运算(加、减、乘、除),但仅限于十进制下。

“Backspace”按钮表示退格,“CE”按钮表示清除当前文本框内的数据,“C”按钮表示清除文本框内数据,同时var、answer清零。

该程序可在JCreator环境下直接运行。

二、概要设计1、自定义说明(1)类名:Calculator作用:主类继承的父类:JFrame类实现的接口:ActionListener类public class Calculator extends JFrame implements ActionListener{private static String[] btnTexts = {"0","1","2","3","4","5","6","7","8","9","+","-","*","/",".","+/-"}; //定义数组bstTexts来存放计算器上的各个按钮Button button[] = new Button[16];Button BkButton,CeButton,CButton,EqButton;boolean clickable; //控制当前能否按键double vard, answerd; //用来保存double型数据的中间值(vard)和最后结果(answerd)short key = -1, prekey = -1; //key用来保存当前进行何种运算,prekey用来保存前次进行何种运算DecimalFormat df; //设置数据输出精度private JTextField displayField = new JTextField(" "); //计算结果显示区public Calculator(){………}public void actionPerformed(ActionEvent event){………}}(2)方法名:Calculator作用:设置窗体布局public Calculator(){//Frame frame = new Frame("Calculator");super("Calculator"); //显示主窗口标题“Calculator”df = new DecimalFormat("0.00000000"); //设置数据输出精度(对于double型值)BkButton = new Button("Backspace");BkButton.setForeground(Color.red);CeButton = new Button("CE");CeButton.setForeground(Color.red);CButton = new Button("C");CButton.setForeground(Color.red);EqButton = new Button("=");EqButton.setForeground(Color.red); //将“Backspace”、“CE”、”C”、“=”显示为红色BkButton.addActionListener(this);CeButton.addActionListener(this);CButton.addActionListener(this);EqButton.addActionListener(this);displayField.setHorizontalAlignment(JTextField.RIGHT); //将计算结果显示在displayField的右面JPanel p1 = new JPanel(new FlowLayout()); //以FlowLayout布局p1 p1.add(BkButton);p1.add(CeButton);p1.add(CButton);p1.add(EqButton); //设置四个按钮:"Backspace","CE","C","="JPanel p2 = new JPanel(new GridLayout(2,1)); //以GridLayout布局p2 p2.add(displayField);p2.add(p1); //加入显示结果的JTextField和p1JPanel p3 = new JPanel(new GridLayout(4,4)); //以GridLayout布局p3 for(int i = 0;i < btnTexts.length;i++){button[i] = new Button(btnTexts[i]); //将数组btnTexts[]的值赋给数组button[] button[i].setForeground(Color.blue); //组件button的前景色显示蓝色p3.add(button[i]);button[i].addActionListener(this);}Container cp = this.getContentPane(); //采用默认的BorderLayout布局cpcp.add(p2,BorderLayout.NORTH);cp.add(p3,BorderLayout.CENTER);}(3)方法名:actionPerformed作用:设置各个按钮的行为public void actionPerformed(ActionEvent event){boolean sign = false; //判断是否是double型数参与运算,是为true,不是为falseObject temp = event.getSource();try{for (int i = 0; i <= 9; i++) //如果按下数据按钮,将按下的按钮代表的数据插入的当前文本框字符串之后displayField.setText(displayField.getText() + Integer.toString(i));//按下'.'按钮时,判断当前文本框内字符串中含不含'.',如果已含,则不允许再插入'.'if (temp == button[14] && clickable == true){……….}if ( (temp == button[10] || temp == button[11] || temp == button[12] || temp == button[13]) && clickable == true){//'+'操作if (temp == button[10]){…………}//'-'操作if (temp == button[11]){…………}//'*'操作if (temp == button[12]){…………}//'/'操作if (temp == button[13]){…………}//'='操作if (temp == EqButton && clickable == true){…………}//按下'+/-'按钮时处理{…………}//按下'Backspace'键,利用循环将当前字符串中的最后一个字母删除if (temp == BkButton && clickable == true){…………}//按下'CE'按钮,将当前文本框内数据清除if (temp == CeButton){………}//按下'C'按钮,文本框内数据清除,同时var,answer清0if (temp == CButton){………}}//输入中如果有操作非法,比如按下两次'+',捕获异常catch (Exception e){displayField.setText("操作非法");clickable = false;}2、界面设计下图为该程序运行时的界面截图:三、详细设计以下为该程序的主要代码:import javax.swing.*;import java.awt.*;import javax.swing.event.*;import java.awt.event.*;import java.text.DecimalFormat;public class Calculator extends JFrame implements ActionListener{private static String[] btnTexts ={"0","1","2","3","4","5","6","7","8","9","+","-","*","/",".","+/-"};Button button[] = new Button[16];Button BkButton,CeButton,CButton,EqButton;boolean clickable; //控制当前能否按键double vard, answerd; //用来保存double型数据的中间值(vard)和最后结果(answerd)short key = -1, prekey = -1; //key用来保存当前进行何种运算,prekey用来保存前次进行何种运算DecimalFormat df; //设置数据输出精度private JTextField displayField = new JTextField(" ");//计算结果显示区public Calculator(){super("Calculator"); //显示主窗口标题“Calculator”df = new DecimalFormat("0.00000000"); //设置数据输出精度(对于double型值)BkButton = new Button("Backspace");BkButton.setForeground(Color.red);CeButton = new Button("CE");CeButton.setForeground(Color.red);CButton = new Button("C");CButton.setForeground(Color.red);EqButton = new Button("=");EqButton.setForeground(Color.red); //将“Backspace”、“CE”、”C”、“=”显示为红色BkButton.addActionListener(this);CeButton.addActionListener(this);CButton.addActionListener(this);EqButton.addActionListener(this);displayField.setHorizontalAlignment(JTextField.RIGHT); //将计算结果显示在displayField的右面JPanel p1 = new JPanel(new FlowLayout()); //以FlowLayout布局p1 p1.add(BkButton);p1.add(CeButton);p1.add(CButton);p1.add(EqButton); //设置三个按钮:"Backspace","CE","C","="JPanel p2 = new JPanel(new GridLayout(2,1)); //以GridLayout布局p2 p2.add(displayField);p2.add(p1); //加入显示结果的JTextField和p1JPanel p3 = new JPanel(new GridLayout(4,4)); //以GridLayout布局p3 for(int i = 0;i < btnTexts.length;i++){button[i] = new Button(btnTexts[i]); //将数组btnTexts[]的值赋给数组button[] button[i].setForeground(Color.blue); //组件button的前景色示蓝色p3.add(button[i]);button[i].addActionListener(this);}Container cp = this.getContentPane(); //采用默认的BorderLayout布局cpcp.add(p2,BorderLayout.NORTH);cp.add(p3,BorderLayout.CENTER);}//设置各个按钮行为public void actionPerformed(ActionEvent event){boolean sign = false; //判断是否是double型数参与运算,是为true,不是为falseObject temp = event.getSource();try{for (int i = 0; i <= 9; i++) //如果按下数据按钮,将按下的按钮代表的数据插入的当前文本框字符串之后if (temp == button[i] && clickable == true)displayField.setText(displayField.getText() + Integer.toString(i));//按下'.'按钮时,判断当前文本框内字符串中含不含'.',如果已含,则不允许再插入'.'if (temp == button[14] && clickable == true){boolean isDot = false;if (displayField.getText().length() == 0)isDot = true;for (int i = 0; i < displayField.getText().length(); i++)if ('.' == displayField.getText().charAt(i)){isDot = true;break;}if (isDot == false)displayField.setText(displayField.getText() + ".");}if ( (temp == button[10] || temp == button[11] || temp == button[12] || temp == button[13]) && clickable == true){//'+'操作if (temp == button[10]){switch (prekey){case 0:answerd += Double.parseDouble(displayField.getText());break;case 1:answerd -= Double.parseDouble(displayField.getText());break;case 2:answerd *= Double.parseDouble(displayField.getText());break;case 3:if (Double.parseDouble(displayField.getText()) == 0){displayField.setText("除数不能为零");clickable = false;}elseanswerd /= Double.parseDouble(displayField.getText());break;default:}displayField.setText("");prekey = key = 0;}//'-'操作if (temp == button[11]){switch (prekey){case 0:answerd += Double.parseDouble(displayField.getText());break;case 1:answerd -= Double.parseDouble(displayField.getText());break;case 2:answerd *= Double.parseDouble(displayField.getText());break;case 3:if (Double.parseDouble(displayField.getText()) == 0){displayField.setText("除数不能为零");clickable = false;}elseanswerd /= Double.parseDouble(displayField.getText());break;default:answerd = Double.parseDouble(displayField.getText());}displayField.setText("");prekey = key = 1;}//'*'操作if (temp == button[12]){switch (prekey){case 0:break;case 1:answerd -= Double.parseDouble(displayField.getText());break;case 2:answerd *= Double.parseDouble(displayField.getText());break;case 3:if (Double.parseDouble(displayField.getText()) == 0){displayField.setText("除数不能为零");clickable = false;}elseanswerd /= Double.parseDouble(displayField.getText());break;default:answerd = Double.parseDouble(displayField.getText());}displayField.setText("");prekey = key = 2;}//'/'操作if (temp == button[13]){switch (prekey){case 0:answerd += Double.parseDouble(displayField.getText());break;case 1:answerd -= Double.parseDouble(displayField.getText());break;case 2:answerd *= Double.parseDouble(displayField.getText());break;case 3:if (Double.parseDouble(displayField.getText()) == 0){displayField.setText("除数不能为零");clickable = false;}elseanswerd /= Double.parseDouble(displayField.getText());break;default:answerd = Double.parseDouble(displayField.getText());}displayField.setText("");prekey = key = 3;}}//'='操作if (temp == EqButton && clickable == true){//如果连续按'=',则进行连续运算if (prekey == 5){if (key == 0){answerd += vard;displayField.setText(df.format(answerd));}if (key == 1){answerd -= vard;displayField.setText(df.format(answerd));}if (key == 2){answerd *= vard;displayField.setText(df.format(answerd));}if (key == 3){if (Double.parseDouble(displayField.getText()) == 0){displayField.setText("除数不能为零");clickable = false;}else{answerd /= vard;displayField.setText(df.format(answerd));}}}else{vard = Double.parseDouble(displayField.getText());if (key == 0){prekey = -1;answerd += Double.parseDouble(displayField.getText());displayField.setText(df.format(answerd));}if (key == 1){prekey = -1;answerd -= Double.parseDouble(displayField.getText());displayField.setText(df.format(answerd));}if (key == 2){prekey = -1;answerd *= Double.parseDouble(displayField.getText());displayField.setText(df.format(answerd));}if (key == 3){prekey = -1;if (Double.parseDouble(displayField.getText()) == 0){displayField.setText("除数不能为零");clickable = false;}else{answerd /= Double.parseDouble(displayField.getText());displayField.setText(df.format(answerd));}}prekey = 5;}//按下'+/-'按钮时处理if (temp == button[15] && clickable == true){boolean isNumber = true;String s = displayField.getText();for (int i = 0; i < s.length(); i++)if (! (s.charAt(i) >= '0' && s.charAt(i) <= '9' || s.charAt(i) == '.' || s.charAt(i) == '-')){isNumber = false;break;}if (isNumber == true){//如果当前字符串首字母有'-'号,代表现在是个负数,再按下时,则将首符号去掉if (s.charAt(0) == '-'){displayField.setText("");for (int i = 1; i < s.length(); i++){char a = s.charAt(i);displayField.setText(displayField.getText() + a);}}//如果当前字符串第一个字符不是符号,则添加一个符号在首字母处elsedisplayField.setText('-' + s);}}//按下'Backspace'键,利用循环将当前字符串中的最后一个字母删除if (temp == BkButton && clickable == true)String s = displayField.getText();displayField.setText("");for (int i = 0; i < s.length() - 1; i++){char a = s.charAt(i);displayField.setText(displayField.getText() + a);}}//按下'CE'按钮,将当前文本框内数据清除if (temp == CeButton){displayField.setText("");clickable = true;}//按下'C'按钮,文本框内数据清除,同时var,answer清0if (temp == CButton){vard = answerd = 0;displayField.setText("");clickable = true;}}//输入中如果有操作非法,比如按下两次'+',捕获异常catch (Exception e){displayField.setText("操作非法");clickable = false;}}public static void main(String args[]){Calculator calculator = new Calculator();calculator.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);calculator.setSize(300,200);calculator.setVisible(true);}}四、测试分析(1)程序运行情况该程序正常的响应按钮事件,能进行简单的加、减、乘、除四则运算,在输入之前须先进行清零处理,然后再输入数值进行运算。

JAVA课程设计报告_完整版

JAVA课程设计报告_完整版

《JAVA面向对象程序设计》课程设计报告(2011-2012学年第2学期)系别:厦门理工学院计算机科学与技术系专业名称:10级网络工程1班课程设计科目:《JAVA面向对象程序设计》课程设计学生姓名:学号:指导教师:***成绩:完成时间:2012年7月6日题目JAVA程序课程设计任务一手机号码检测器(一)设计任务与目标任务:手机号码是由11位数字构成,用户在输入手机号码时经常混乱输入若干位数字或字母,要求你编写一个程序检测用户所输入的手机号码是否符合规则。

要求目标:检测所输入的手机号码是否是11位检测每一位是否都为数字。

分析论证:本题目要求对用户输入的手机号码进行检测,判断输入的正确性。

曾经有做过类似字符比较的题目,可以借鉴。

将字符的比较运用进来,把用户的输入字符和正确的进行比较。

但是必须满足多次输入和错误提醒。

同时还可以添加提示错误的位置和错误字符是什么。

程序正确运行时可以满足以上功能,基本可以达到题目要求了。

(二)方案设计与论证为了满足多次输入的要求,将提示和输入的操作放在一个循环体中,我采用了do_whiele()循环。

每次输入结束后提示是否继续输入。

在循环中逐步对输入的号码位数和字符类型进行检测。

位数可以分超出和不足,并均给出错误提示。

如果位数满足要求后对手机号码类型进行检测。

一般手机号在0~9之间,所以不满足的字符将报错。

通过将输入的整个字符串调用charAt(int i)方法对字符串逐位比较。

本程序的特点在于可以满足了多次输入和错误字符的显示(内容和位置)。

在程序的调试过程中,有过多次输入正确的号码也会报错(还会报错0位错误),这是因为记录错误位子的变量放在错误条件下并且未在循环体中初始化为0。

最终解决了此问题。

(三)程序框图或流程图,程序清单与调用关系(四)程序运行的测试与分析实现了多次输入和错误提示,可以判断输入的号码的错误位置及字符,错误类型,满足了设计构思要求。

最终结果如下图:实验结果截图:(五)结论心得实验过程中对于判断条件的选择出现了问题,开始时觉得要对输入的字符一个一个的比较,这样增加了难度也不方便实现。

java课程设计实验报告

java课程设计实验报告

java课程设计实验报告Java课程设计实验报告。

一、实验目的。

本次实验旨在通过设计一个简单的Java程序,加深对Java语言的理解和应用,同时锻炼学生的编程能力和解决问题的能力。

二、实验内容。

本次实验要求设计一个简单的学生成绩管理系统,实现对学生成绩的录入、查询、修改和删除等功能。

具体要求如下:1. 设计一个学生类,包括学生的基本信息(学号、姓名、性别等)和成绩信息(语文、数学、英语等科目成绩)。

2. 实现学生成绩的录入功能,可以一次性录入多个学生的成绩信息。

3. 实现学生成绩的查询功能,可以根据学号或姓名查询学生的成绩信息。

4. 实现学生成绩的修改功能,可以修改指定学生的成绩信息。

5. 实现学生成绩的删除功能,可以删除指定学生的成绩信息。

三、实验设计。

在本次实验中,我首先设计了一个学生类,包括学号、姓名、性别和成绩等属性,并提供了相应的构造方法和get、set方法。

然后,我设计了一个学生成绩管理系统的主类,其中包括录入、查询、修改和删除等功能的实现。

在录入功能中,我使用Scanner类实现了从控制台输入学生信息的功能,并将学生信息保存到一个ArrayList中。

在查询功能中,我通过学号或姓名遍历ArrayList,找到相应的学生信息并输出。

在修改功能中,我同样通过遍历ArrayList找到指定学生信息,并提供修改选项,用户可以选择要修改的成绩信息进行修改。

在删除功能中,我也是通过遍历ArrayList找到指定学生信息,并进行删除操作。

四、实验结果。

经过一系列的调试和测试,我成功实现了学生成绩管理系统的设计要求。

用户可以通过简单的命令行界面,实现学生成绩的录入、查询、修改和删除等功能。

系统运行稳定,操作简单,符合设计要求。

五、实验总结。

通过本次实验,我对Java语言的面向对象编程有了更深入的理解,掌握了ArrayList的使用方法,提高了编程能力和问题解决能力。

同时,通过设计一个实用的学生成绩管理系统,我也加深了对Java语言的应用和实践,为以后的学习和工作打下了坚实的基础。

Java专业课程设计方案报告模板

Java专业课程设计方案报告模板

浙江科技学院《Java程序设计》课程设计汇报设计题目:学生信息管理系统姓名:邱焕明学号:所属院系:信息学院专业:软件工程小组组员:邱焕明设计时间: -1-6指导老师:虞建东一、课程设计目标(1)试验目标:结合开发系统,给出学生信息管理系统二、课程设计完成任务三、设计过程(一)需求分析1、基础资料管理基础资料管理包含对院系、班级和学期设置。

该模块可实现以下功效:添加、修改、删除和显示院系代码、院系名称和电话号码。

添加、修改、删除和显示班级代码、班级名称、学生人数和所属院系名。

添加、修改、删除和显示学期代码、学期名称。

2、学生信息管理学生信息管理包含对学生档案和学籍管理。

该模块可实现以下功效:添加、修改、查询和显示学生基础信息、所属班级和院系。

统计学生学籍、学生离校信息和学生调动信息。

3、课程信息管理课程信息管理包含对课程设置和班级选课管理。

该模块可实现以下功效:添加、修改、删除和显示课程代码、课程名称、学分和院系名称。

添加、删除和提交班级所选课程。

4、成绩信息管理成绩信息管理包含对成绩录入和成绩分析管理。

该模块可实现以下功效:录入班级课程成绩,以不一样形式(列表统计、图表分析)显示班级课程成绩。

(二)系统设计概念、步骤初定义1、实体名:院系2、实体名:班级3、实体名:学生4、实体名:课程(三)系统内容计划1、班级信息表表3-1班级信息表2、课程信息表表3-2课程信息表(四)系统总体设计内(五)系统具体设计列名数据类型长度备注班级编号char 5 主键班级名称varchar 50 无所属院系varchar 50 无学生人数smallint 2 无列名数据类型长度备注课程代码char 10 主键课程名称varchar 50 无学分tinyint 1 无所属院系varchar 50 无(六)系统测试四、设计总结(宋体小四粗体)首先,更深入了解了数据库基础操作,在这之前,数据库学习仅仅刚开了个头,我们只是在了解部分概念性东西。

jav课程设计报告

jav课程设计报告

jav课程设计报告一、教学目标本课程旨在让学生掌握Java编程语言的基本语法、编程技巧和相关概念,培养学生的编程能力和解决问题的能力。

通过本课程的学习,学生将能够:1.熟练掌握Java编程语言的基本语法和编程规范;2.掌握Java语言的面向对象编程思想,包括类、对象、继承、多态等;3.熟悉Java语言的常用数据结构和相关算法;4.能够运用Java语言编写简单的应用程序,解决实际问题;5.培养良好的编程习惯和团队协作能力。

二、教学内容本课程的教学内容主要包括Java编程语言的基本语法、面向对象编程、数据结构与算法、应用程序开发等。

具体安排如下:1.第一章:Java编程基础,包括Java语言的概述、开发环境搭建、基本数据类型、运算符、控制语句等;2.第二章:面向对象编程,包括类与对象、继承与多态、封装与抽象等;3.第三章:常用数据结构,包括数组、链表、栈、队列、树、图等;4.第四章:算法与排序,包括常见排序算法、查找算法、算法分析与设计等;5.第五章:Java应用程序开发,包括图形用户界面设计、文件操作、网络编程等。

三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法相结合的方式进行教学。

具体包括:1.讲授法:通过讲解Java编程语言的基本概念、语法和编程技巧,使学生掌握Java编程的基本知识;2.案例分析法:通过分析实际案例,使学生理解面向对象编程的思想,并能够运用到实际项目中;3.实验法:安排上机实验,让学生动手编写Java程序,培养学生的编程能力和解决问题的能力;4.讨论法:学生进行小组讨论,分享学习心得和经验,提高学生的团队协作能力。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:选用权威、实用的Java编程教材,为学生提供系统的学习资料;2.参考书:提供相关的Java编程参考书籍,方便学生课后自学和深入研究;3.多媒体资料:制作课件、教学视频等多媒体资料,帮助学生更好地理解和掌握知识点;4.实验设备:提供计算机实验室,让学生能够进行上机实验,提高实践能力。

java课程设计报告

java课程设计报告

java课程设计报告引言:在现代社会的科技发展中,计算机科学已经成为人们生活的一部分。

作为计算机科学的基础语言之一,Java语言在软件开发领域具有广泛的应用。

本文将围绕Java课程设计展开,介绍该课程设计的背景、目的、过程及结果,并对课程设计的意义和价值进行分析。

一、背景说明随着信息技术的快速发展和社会的进步,计算机科学课程在高等教育中变得越来越重要。

Java作为一种面向对象的编程语言,在学术界和工业界都有着广泛应用和较高的口碑。

通过Java课程设计,可以提高学生的动手能力和实践操作能力,为学生的综合素质提供有力的支持。

此外,Java课程设计还可以激发学生的创造力和创新思维,为学生的职业发展打下坚实的基础。

二、目的和目标本次Java课程设计的主要目的是培养学生的编程能力和软件开发实践经验。

具体目标包括:1. 熟练掌握Java语言的基本语法和常用库函数。

2. 理解面向对象的编程思想和设计原则。

3. 能够独立设计和实现一个简单的软件项目。

4. 提高分析问题和解决问题的能力。

5. 培养团队合作和沟通协作能力。

三、课程设计过程本次课程设计分为以下几个阶段:1. 需求分析:明确软件设计的目标和功能要求,了解用户需求和期望。

2. 系统设计:根据需求分析结果,设计系统的结构和模块划分,确定开发所需资源和工具。

3. 编码实现:根据系统设计,利用Java语言进行编码实现,编写各个模块的代码。

4. 软件测试:对编码完成的软件进行全面测试,包括单元测试、集成测试和系统测试,确保软件的稳定性和可靠性。

5. 软件优化:根据测试结果,对软件进行性能优化和代码优化,提高软件的运行效率和用户体验。

6. 报告撰写:根据课程设计要求,撰写课程设计报告,阐述整个课程设计过程和实现的思路方法。

四、课程设计成果通过课程设计的努力,设计实现了一个基于Java语言的个人账单管理系统。

该系统可以帮助用户记录和管理个人的收入和支出情况,提供账单查询、分类统计等功能。

Java课程设计报告

Java课程设计报告

Java课程设计报告
本次Java课程设计是针对一次水果采购仓储管理场景,实现了仓库货物预测、订单管理、入库管理等功能。

主要开发工具是IDEA,编译器是JDK1.8,基于MySQL数据库开发,使用MySQL Workbench来建立用户数据表。

技术选型采用:Java编程语言+MySQL数据库+MVC框架,采用B/S架构,通过Servlet实现业务逻辑,实现和数据库的交互,使用HTML、JavaScript实现前端展示,运用Jquery移动端开发技术实现兼容多端,使用AJAX技术实现实时交互,满足了客户对界面显示、内容全面、方便快捷、稳定性强等要求。

该系统分为四种用户:客户、管理员、客服和采购员,客户只能查看仓库信息,管理员具有查询客户,管理设置等权限,客服和采购员可以查看和管理订单,以及根据预测分析出的数据采购不同量的水果。

本次设计实现的功能有:预测货物的数量以及库存情况;订单的添加、删除、更新以及查询;入库管理;仓库货物的查询、采购等。

针对运维维护方面,该系统实现了系统用户管理,并提供了完善的用户个人信息管理功能,以及系统日志记录等功能,以满足不同用户的使用需求。

经过本次开发,为公司的后续业务发展提供了有力的保障,系统开发共获得良好的实现效果,满足了客户的使用要求,节约了大量的物流和存储成本,为企业的经营提供了更加有效的管理模式。

java课程设计设计实验报告

java课程设计设计实验报告

java课程设计设计实验报告一、教学目标本课程旨在通过Java编程语言的学习,让学生掌握Java编程的基本语法、流程控制、数据结构、面向对象编程等基本知识,培养学生运用Java语言解决实际问题的能力。

具体目标如下:1.知识目标:(1)理解Java编程语言的基本语法和编程规范;(2)掌握Java中的基本数据类型、运算符、表达式;(3)了解Java的流程控制语句,如if、for、while等;(4)熟悉Java数组、字符串、集合等数据结构的使用;(5)理解面向对象编程的基本概念,如类、对象、封装、继承、多态等;(6)掌握Java异常处理机制和文件操作。

2.技能目标:(1)能够使用Java编写简单的程序,实现基本的功能;(2)能够运用面向对象编程思想,设计并实现具有一定复杂度的程序;(3)具备阅读Java代码的能力,能够理解并修改他人编写的程序;(4)掌握使用Java开发工具,如Eclipse、IntelliJ IDEA等;(5)了解Java程序的调试和性能优化方法。

3.情感态度价值观目标:(1)培养学生对编程语言的兴趣,激发学生主动学习的动力;(2)培养学生团队合作精神,提高学生沟通协作能力;(3)培养学生面对挑战、解决问题的信心和勇气;(4)培养学生具有良好的代码规范和编程习惯。

二、教学内容本课程的教学内容主要包括Java编程语言的基本语法、流程控制、数据结构、面向对象编程等。

具体安排如下:1.第一章:Java入门,介绍Java编程语言的基本概念、环境搭建和基本语法;2.第二章:基本数据类型和运算符,学习Java中的整数、浮点数、字符、布尔等数据类型以及运算符;3.第三章:流程控制语句,学习if、for、while等流程控制语句的使用;4.第四章:数组和字符串,学习数组的声明、初始化和使用,字符串的创建、操作和转换;5.第五章:集合框架,学习List、Set、Map等集合接口及其实现类的使用;6.第六章:面向对象编程,学习类、对象、封装、继承、多态等概念及应用;7.第七章:异常处理和文件操作,学习Java异常处理机制和文件读写方法;8.第八章:Java编程实践,通过案例分析法和实验法,巩固所学知识,提高实际编程能力。

java课程设计报告

java课程设计报告

java课程设计报告Java课程设计报告一、设计背景随着信息技术的发展,计算机编程已经成为一门必备的技能。

而Java作为一种强大的编程语言,具有跨平台性、安全性和易学性的特点,深受广大程序员的喜爱。

基于此,我们决定设计一门Java课程,旨在培养学生的编程能力和解决问题的能力。

二、设计目标我们的设计目标主要有以下几点:1. 帮助学生掌握Java编程的基本概念和语法;2. 培养学生独立解决问题的能力;3. 培养学生的团队合作能力。

三、课程内容1. 第一阶段:基础知识学习在这个阶段,学生将学习Java编程的基本概念和语法。

包括数据类型、变量、运算符、条件语句、循环语句等。

学生将通过讲解、案例演示和实践编程来掌握这些知识。

2. 第二阶段:问题解决能力培养在这个阶段,学生将解决一系列实际问题。

这些问题将涉及各种Java编程知识,例如数组、字符串、文件操作等。

学生将通过解决这些问题来提高自己的Java编程能力,并培养解决问题的能力。

3. 第三阶段:团队合作项目在这个阶段,学生将分成小组开展一个实际项目。

他们需要通过合作来完成项目的需求分析、设计、编码和测试等工作。

这样可以培养学生的团队合作能力和对软件开发过程的理解。

四、教学方法1. 讲解法:教师通过课堂讲解来传授Java的概念和语法。

2. 实践法:学生通过编写小程序来巩固所学知识,并解决实际问题。

3. 项目法:学生通过完成项目来应用所学知识,并培养团队合作能力。

五、教学资源1. 课本:我们将选用一本Java编程的入门教材作为主要教学资料。

2. 编程工具:学生将使用Java集成开发环境(IDE)来进行编程实践。

3. 网络资源:学生可通过互联网获取相关的编程教程、参考资料和实例代码。

六、评估方法1. 期中考试:考察学生对Java编程基础知识和语法的掌握程度。

2. 作业评估:评估学生对实际问题的解决能力和编码规范的掌握程度。

3. 项目评估:评估学生在团队合作项目中的表现和软件开发能力。

java课程设计报告摘要

java课程设计报告摘要

java课程设计报告摘要一、课程目标知识目标:1. 掌握Java基本语法和编程规范,理解面向对象编程思想;2. 学会使用Java编写简单的控制台程序,包括变量、数据类型、运算符、流程控制语句等;3. 理解类和对象的概念,掌握类的定义、属性、方法以及构造函数的使用;4. 掌握数组、字符串等基本数据结构的使用。

技能目标:1. 培养学生独立编写Java代码的能力,提高编程技巧;2. 培养学生分析问题、解决问题的能力,学会运用Java语言进行程序设计;3. 培养学生良好的编程习惯,注重代码规范和优化。

情感态度价值观目标:1. 激发学生对计算机编程的兴趣,培养主动学习的积极性;2. 培养学生的团队协作意识,学会与他人分享和交流编程经验;3. 培养学生面对困难勇于挑战的精神,增强自信心。

分析课程性质、学生特点和教学要求,本课程目标具体、可衡量,旨在让学生掌握Java编程基础知识,培养编程技能,同时注重培养学生的情感态度价值观,使他们在学习过程中形成积极、主动、合作的学习氛围。

通过本课程的学习,学生将具备初步的Java编程能力,为后续深入学习打下坚实基础。

二、教学内容根据课程目标,教学内容分为以下四个部分:1. Java基础语法与编程规范- 章节一:Java简介与开发环境配置- 章节二:变量、数据类型、运算符- 章节三:流程控制语句(顺序、分支、循环)- 章节四:数组与字符串2. 面向对象编程基础- 章节五:类与对象- 章节六:构造函数与封装- 章节七:继承与多态- 章节八:接口与抽象类3. 常用类与数据结构- 章节九:Java集合框架- 章节十:Java异常处理4. Java编程实践- 项目一:编写简单的控制台程序(计算器、图书管理系统等)- 项目二:面向对象编程实践(学生管理系统、购物车等)教学内容科学、系统,按照教学大纲逐步展开。

教学进度安排如下:1. Java基础语法与编程规范(2周)2. 面向对象编程基础(3周)3. 常用类与数据结构(2周)4. Java编程实践(3周)三、教学方法针对Java课程的特点和课程目标,采用以下多样化的教学方法,以激发学生的学习兴趣和主动性:1. 讲授法:对于Java基础语法、面向对象编程等理论性较强的内容,采用讲授法进行教学。

《Java 》课程设计报告

《Java 》课程设计报告
2.1.4系统目录结构说明
对系统包结构、文件结构列表说明,如表2-1、2-2所示。
表2-1
包名
作用
Java.awt.Insets
包含用于创建用户界面和绘制图形图像的所有类
Java.awt.event.ActionEvent
定义了动作的类
Java.awt.event.ActionListener
包含用于创建用户界面和绘制图形图像的所有的类
四、分析总结
这个模块应该是本程序的核心模块了,很多逻辑上的错误都发生过,应该是写的最为艰辛的模块了。不过好在程序本身的逻辑并不是太过复杂,走了几次弯路也就完成的差不多了。
4
系统运行结果
5课程设计总结
一个好的算法可以让你的程序更健壮,编写的代码量更少,处理异常一直是JAVA里的常事,通过试验,让我对基础的知识更加深入了解,也对更改代码错误有了一定的提升,能看的懂错误的代码错在哪里,并进行修改,使其正确。
y1= 5;
y= 100;
java.util.Random ran =newjava.util.Random();
x= ran.nextInt(600) + 10;
}
if(y> 630) {
if(isexist) {
isAgain();
}
stopThread();
}
try{
Thread.sleep(speed);
二、分层结构及调用关系说明
三、关键代码分析
publicvoidrun() {
drawOval();
}
/**
*创建线程的方法
*/
publicvoiddrawOval() {
UI.text_field.setText(count+"分");
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

JAVA课程实验设计报告题目:软键盘专业:电子商务学生姓名:王赛10034017张瑾10034019郑莉丹10034020指导教师:柳毅完成时间:2012年3月目录第一部分 (3)1.1作业背景 (3)第二部分 (3)2.1选题背景 (3)2.2选题名称 (3)2.3基本思路 (3)2.4程序运行界面 (4)2.5模块说明图 (4)第三部分 (5)3.1程序详细设计与分析 (5)第四部分 (6)4.1结束语 (6)4.2源代码 (6)第一部分1.1作业背景本文根据《JAVA语言程序设计》课程要求而做。

在本程序设计中,设计了一个文本区和键盘区。

设计过程中利用最基本的AWT界面开发,JAVA语言程结合序设计课本中组件、容器布局管理器、事件监听等的相关知识,完成一个关于软键盘简易功能的界面制作,以字母输入为主,并且有大小写转换,删除键,上档键,空格键的功能实现。

第二部分2.1选题背景本文根据《JAVA语言程序设计》课程要求而做。

在本程序设计中,设计了一个文本区和键盘区。

设计过程中利用最基本的AWT界面开发,JAVA语言程结合序设计课本中组件、容器布局管理器、事件监听等的相关知识,完成一个关于软键盘简易功能的界面制作,以字母输入为主,并且有大小写转换,删除键,上档键,空格键的功能实现。

2.2选题名称名称:模拟软键盘2.3基本思路首先构造一个Frame作为java的顶级窗口,并设置其大小、颜色,通过add()方法向Frame中加组件,包括面板、按钮、文本域,再一一关联单击鼠标事件监听器,完成对软键盘按键的相应操作。

2.4程序运行界面2.5模块说明图在图1中,首先创建一个名为ruanjianpan的类并继承Frame类作为最底层的容器。

图2在图2中,构造一个软键盘类时要做三件事情,分别是初始化容器、初始化组件、设置事件监听器。

第三部分3.1程序详细设计与分析Frame f;TextField bx;Panel p1,p2,p3,p4,p5;Button ……//设置框架,文本框,面板,添加组件……b0.addActionListener(this); //注册单击鼠标事件监听器f.addWindowListener(new WindowAdapter() //为了关闭窗口……f.setSize(500,300);f.setBackground(new Color(220, 220, 220));f.setVisible(true); //设置框架的大小颜色及是否可见……f.addWindowListener(new WindowAdapter() //注册窗口事件监听器……第四部分4.1结束语在计算机课程体系中,程序设计是其中重要的基础性课程,在众多的设计语言中JAVA语言是后起之秀,它是一门实践性很强的课程,并不容易被掌握,没有实践只是纸上谈兵。

通过这次课程设计实践中对AWT界面的开发,我们更好的掌握了JAVA 语言的基本操作,对组件、容器布局管理器、事件监听等进行了实际操作,也增加了日后学习、研究JAVA语言的信心。

4.2源代码import java.awt.*;import java.awt.event.*;import javax.swing.*;public class ruanjianpan extends Frame implements ActionListener{Frame f;TextField bx;Panel p1,p2,p3,p4,p5;int a=1,d=1;int c;String m=" ";String r=" ";String s=" ";Buttonb0,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b17,b18,b19,b20,b21, b22,b23,b24,b25,b26,b27,b28,b29,b30,b31,b32,b33,b34,b35,b36,b37,b38,b39,b40,b 41,b42,b43,b44,b45,b46,b47,b48,b49,b50,b51,b52,b53,b54,b55,b56,b57,b58;// 定义变量public static void main(String args[]){ruanjianpan s=new ruanjianpan();s.go();}public void go(){f=new Frame("软件盘");bx=new TextField(80);p1=new Panel();p2=new Panel();p3=new Panel();p4=new Panel();p5=new Panel();b0=new Button("`~");b1=new Button("1!");b2=new Button("2@");b3=new Button("3#");b4=new Button("4$");b5=new Button("5%");b6=new Button("6^");b7=new Button("7&");b8=new Button("8*");b9=new Button("9(");b11=new Button("←");b12=new Button(" Shift "); b13=new Button("[ {");b14=new Button("] }");b15=new Button("; :");b16=new Button("' “");b17=new Button(", <");b18=new Button(". >");b19=new Button("/ ?");b20=new Button("- _");b21=new Button("= +");b22=new Button("、|");b23=new Button("CapsLock"); b24=new Button("q");b25=new Button("w");b26=new Button("e");b27=new Button("r");b28=new Button("t");b29=new Button("y");b30=new Button("u");b31=new Button("i");b32=new Button("o");b33=new Button("p");b34=new Button("a");b35=new Button("s");b36=new Button("d");b37=new Button("f");b38=new Button("g");b39=new Button("h");b41=new Button("k");b42=new Button("l");b43=new Button("z");b44=new Button("x");b45=new Button("c");b46=new Button("v");b47=new Button("b");b48=new Button("n");b49=new Button("m");b50=new Button(" "); b51=new Button("Tab");b52=new Button("Crtl");b53=new Button("Enter");b54=new Button("Alt");b55=new Button("↑");b56=new Button("↓");b57=new Button("←");b58=new Button("→");//实例化b0.addActionListener(this);b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);b4.addActionListener(this);b5.addActionListener(this);b6.addActionListener(this);b7.addActionListener(this);b8.addActionListener(this);b9.addActionListener(this);b10.addActionListener(this); b11.addActionListener(this); b12.addActionListener(this); b13.addActionListener(this); b14.addActionListener(this); b15.addActionListener(this); b16.addActionListener(this); b17.addActionListener(this); b18.addActionListener(this); b19.addActionListener(this); b20.addActionListener(this); b21.addActionListener(this); b22.addActionListener(this); b23.addActionListener(this); b24.addActionListener(this); b25.addActionListener(this); b26.addActionListener(this); b27.addActionListener(this); b28.addActionListener(this); b29.addActionListener(this); b30.addActionListener(this); b31.addActionListener(this); b32.addActionListener(this); b33.addActionListener(this); b34.addActionListener(this); b35.addActionListener(this); b36.addActionListener(this); b37.addActionListener(this); b38.addActionListener(this); b39.addActionListener(this);b40.addActionListener(this);b41.addActionListener(this);b42.addActionListener(this);b43.addActionListener(this);b44.addActionListener(this);b45.addActionListener(this);b46.addActionListener(this);b47.addActionListener(this);b48.addActionListener(this);b49.addActionListener(this);//添加监听f.setLayout(new GridLayout(6,1));p1.setLayout(new FlowLayout());p2.setLayout(new FlowLayout());p3.setLayout(new FlowLayout());p4.setLayout(new FlowLayout());p5.setLayout(new FlowLayout());f.add(bx);p1.add(b0);p1.add(b1);p1.add(b2);p1.add(b3);p1.add(b4);p1.add(b5);p1.add(b6);p1. add(b7);p1.add(b8);p1.add(b9);p1.add(b10);p1.add(b20);p1.add(b21);p1.add(b11);p2.add(b51);p2.add(b24);p2.add(b25);p2.add(b26);p2.add(b27);p2.add(b28);p2.add( b29);p2.add(b30);p2.add(b31);p2.add(b32);p2.add(b33);p2.add(b13);p2.add(b14);p2 .add(b22);p3.add(b23);p3.add(b34);p3.add(b35);p3.add(b36);p3.add(b37);p3.add(b38);p3.add( b39);p3.add(b40);p3.add(b41);p3.add(b42);p3.add(b15);p3.add(b16);p3.add(b53); p4.add(b12);p4.add(b43);p4.add(b44);p4.add(b45);p4.add(b46);p4.add(b47);p4.add( b48);p4.add(b49);p4.add(b17);p4.add(b18);p4.add(b19);p4.add(b55);p5.add(b52);p5.add(b54);p5.add(b50);p5.add(b57);p5.add(b56);p5.add(b58);f.add(p1);f.add(p2);f.add(p3);f.add(p4);f.add(p5);//定义布局bx.setEnabled(false);f.setSize(500,300);f.setBackground(new Color(220, 220, 220));f.setVisible(true);//定义框架f.addWindowListener(new WindowAdapter() //为了关闭窗口{public void windowClosing(WindowEvent e){System.exit(0);}});}public void actionPerformed(ActionEvent e){if(d==1){if(e.getActionCommand().equals("`~")){m=m+"`";bx.setText(m);}if(e.getActionCommand().equals("1!")){m=m+"1";bx.setText(m);}if(e.getActionCommand().equals("2@")){m=m+"2";bx.setText(m);}if(e.getActionCommand().equals("3#")){m=m+"3";bx.setText(m);}if(e.getActionCommand().equals("4$")){ m=m+"4";bx.setText(m);}if(e.getActionCommand().equals("5%")){ m=m+"5";bx.setText(m);}if(e.getActionCommand().equals("6^")){ m=m+"6";bx.setText(m);}if(e.getActionCommand().equals("7&")){ m=m+"7";bx.setText(m);}if(e.getActionCommand().equals("8*")){ m=m+"8";bx.setText(m);}if(e.getActionCommand().equals("9(")){ m=m+"9";bx.setText(m);}if(e.getActionCommand().equals("0)")){ m=m+"0";bx.setText(m);}if(e.getActionCommand().equals("[ {")){ m=m+"[";bx.setText(m);}if(e.getActionCommand().equals("] }")){ m=m+"]";bx.setText(m);}if(e.getActionCommand().equals("; :")){ m=m+";";bx.setText(m);}if(e.getActionCommand().eq uals("' “")){ m=m+"'";bx.setText(m);}if(e.getActionCommand().equals(", <")){ m=m+",";bx.setText(m);}if(e.getActionCommand().equals(". >")){ m=m+".";bx.setText(m);}if(e.getActionCommand().equals("/ ?")){ m=m+"/";bx.setText(m);}if(e.getActionCommand().equals("- _")){ m=m+"-";bx.setText(m);}m=m+"=";bx.setText(m);}if(e.getActionCommand().equals("、|")){ m=m+"、";bx.setText(m);}}if(d==2){if(e.getActionCommand().equals("`~")){ m=m+"~";bx.setText(m);}if(e.getActionCommand().equals("1!")){ m=m+"!";bx.setText(m);}if(e.getActionCommand().equals("2@")){ m=m+"@";bx.setText(m);}if(e.getActionCommand().equals("3#")){ m=m+"#";bx.setText(m);}if(e.getActionCommand().equals("4$")){ m=m+"$";bx.setText(m);}m=m+"%";bx.setText(m);}if(e.getActionCommand().equals("6^")){ m=m+"^";bx.setText(m);}if(e.getActionCommand().equals("7&")){ m=m+"&";bx.setText(m);}if(e.getActionCommand().equals("8*")){ m=m+"*";bx.setText(m);}if(e.getActionCommand().equals("9(")){ m=m+"(";bx.setText(m);}if(e.getActionCommand().equals("0)")){ m=m+")";bx.setText(m);}if(e.getActionCommand().equals("[ {")){ m=m+"{";bx.setText(m);}if(e.getActionCommand().equals("] }")){ m=m+"}";bx.setText(m);}if(e.getActionCommand().equals("; :")){ m=m+":";bx.setText(m);}if(e.getActionCommand().equals("' “")){ m=m+"“";bx.setText(m);}if(e.getActionCommand().equals(", <")){ m=m+"<";bx.setText(m);}if(e.getActionCommand().equals(". >")){ m=m+">";bx.setText(m);}if(e.getActionCommand().equals("/ ?")){ m=m+"?";bx.setText(m);}if(e.getActionCommand().equals("- _")){ m=m+"_";bx.setText(m);}if(e.getActionCommand().equals("= +")){ m=m+"+";bx.setText(m);}if(e.getActionCommand().equals("、|")){ m=m+"|";bx.setText(m);}}if(a==1){if(e.getActionCommand().equals("q")){m=m+"q";bx.setText(m);}if(e.getActionCommand().equals("w")){m=m+"w";bx.setText(m);}if(e.getActionCommand().equals("e")){m=m+"e";bx.setText(m);}if(e.getActionCommand().equals("r")){m=m+"r";bx.setText(m);}if(e.getActionCommand().equals("t")){m=m+"t";bx.setText(m);}if(e.getActionCommand().equals("y")){m=m+"y";bx.setText(m);}if(e.getActionCommand().equals("u")){ m=m+"u";bx.setText(m);}if(e.getActionCommand().equals("i")){ m=m+"i";bx.setText(m);}if(e.getActionCommand().equals("o")){ m=m+"o";bx.setText(m);}if(e.getActionCommand().equals("p")){ m=m+"p";bx.setText(m);}if(e.getActionCommand().equals("a")){ m=m+"a";bx.setText(m);}if(e.getActionCommand().equals("s")){ m=m+"s";bx.setText(m);}if(e.getActionCommand().equals("d")){ m=m+"d";bx.setText(m);}if(e.getActionCommand().equals("f")){ m=m+"f";bx.setText(m);}if(e.getActionCommand().equals("g")){ m=m+"g";bx.setText(m);}if(e.getActionCommand().equals("h")){ m=m+"h";bx.setText(m);}if(e.getActionCommand().equals("j")){ m=m+"j";bx.setText(m);}if(e.getActionCommand().equals("k")){ m=m+"k";bx.setText(m);}if(e.getActionCommand().equals("l")){ m=m+"l";bx.setText(m);}if(e.getActionCommand().equals("z")){ m=m+"z";bx.setText(m);}if(e.getActionCommand().equals("x")){ m=m+"x";bx.setText(m);}m=m+"c";bx.setText(m);}if(e.getActionCommand().equals("v")){ m=m+"v";bx.setText(m);}if(e.getActionCommand().equals("b")){ m=m+"b";bx.setText(m);}if(e.getActionCommand().equals("n")){ m=m+"n";bx.setText(m);}if(e.getActionCommand().equals("m")){ m=m+"m";bx.setText(m);}}if(a==2){if(e.getActionCommand().equals("q")){ m=m+"Q";bx.setText(m);}if(e.getActionCommand().equals("w")){ m=m+"W";bx.setText(m);}m=m+"E";bx.setText(m);}if(e.getActionCommand().equals("r")){ m=m+"R";bx.setText(m);}if(e.getActionCommand().equals("t")){ m=m+"T";bx.setText(m);}if(e.getActionCommand().equals("y")){ m=m+"Y";bx.setText(m);}if(e.getActionCommand().equals("u")){ m=m+"U";bx.setText(m);}if(e.getActionCommand().equals("i")){ m=m+"I";bx.setText(m);}if(e.getActionCommand().equals("o")){ m=m+"O";bx.setText(m);}if(e.getActionCommand().equals("p")){ m=m+"P";bx.setText(m);}if(e.getActionCommand().equals("a")){ m=m+"A";bx.setText(m);}if(e.getActionCommand().equals("s")){ m=m+"S";bx.setText(m);}if(e.getActionCommand().equals("d")){ m=m+"D";bx.setText(m);}if(e.getActionCommand().equals("f")){ m=m+"F";bx.setText(m);}if(e.getActionCommand().equals("g")){ m=m+"G";bx.setText(m);}if(e.getActionCommand().equals("h")){ m=m+"H";bx.setText(m);}if(e.getActionCommand().equals("j")){ m=m+"J";bx.setText(m);}if(e.getActionCommand().equals("k")){ m=m+"K";bx.setText(m);}if(e.getActionCommand().equals("l")){ m=m+"L";bx.setText(m);}if(e.getActionCommand().equals("z")){ m=m+"Z";bx.setText(m);}if(e.getActionCommand().equals("x")){ m=m+"X";bx.setText(m);}if(e.getActionCommand().equals("c")){ m=m+"C";bx.setText(m);}if(e.getActionCommand().equals("v")){ m=m+"V";bx.setText(m);}if(e.getActionCommand().equals("b")){ m=m+"B";bx.setText(m);}if(e.getActionCommand().equals("n")){ m=m+"N";bx.setText(m);}if(e.getActionCommand().equals("m")){m=m+"M";bx.setText(m);}}//事件触发if(e.getActionCommand().equals(" Shift ")){ switch(d){case 1:d=2;break;case 2:d=1;break;}}//定义"Shift"if(e.getActionCommand().equals("CapsLock")){ switch(a){case 1:a=2;break;case 2:a=1;break;}}//定义"CapsLock"if(e.getActionCommand().equals("←")){r=bx.getText();c=r.length();s=r.substring(0,c-1);m=s;bx.setText(s);}//定义"←"回删键} }。

相关文档
最新文档