课程设计(论文)任务书
软件 学 院 专 业 班
一、课程设计(论文)题目 计算器
二、课程设计(论文)工作自 09 年 1 月 5 日起至 09 年 1 月 9 日止。
三、课程设计(论文) 地点: 信息工程学院中心机房 四、课程设计(论文)内容要求: 1.本课程设计的目的
(1)使学生巩固和提高Java编程技术
(2)培养学生掌握程序设计的基本思路和方法; (3)加强学生研发、调试程序的能力; (4)培养学生分析、解决问题的能力; (5)提高学生的科技论文写作能力。 2.课程设计的任务及要求 1)任务:
(1)设计一个图形界面(GUI)的计算器应用程序;
(2)设计的计算器应用程序可以完成家法、减法、乘法、除法和取余运算; (3)设计的计算器还要有小数点,正负号,求倒数,退格,和清零的功能; 2)创新要求:
在基本要求达到后,可进行创新设计,如:添加一些复杂的功能,设计一个更加人 性化的界面。
3)课程设计论文编写要求 (1)课程设计任务及要求
(2)设计思路--工作原理、功能规划
(3)详细设计---数据分析、算法思路、类设计、功能实现(含程序流程图、主要代
码及注释)、界面等。 (4)运行调试与分析讨论---给出运行屏幕截图,分析运行结果,有何改进想法等。 (5)设计体会与小结---设计遇到的问题及解决办法,通过设计学到了哪些新知识,巩固了哪些知识,有哪些提高。
(6)参考文献(必须按标准格式列出,可参考教材后面的参考文献格式)
华东交通大学课程设计报告
(7) 报告按规定排版打印,要求装订平整,否则要求返工;
(8) 课设报告的装订顺序如下:封面---任务书---中文摘要---目录----正文---附录(代码及相关图片) (9)严禁抄袭,如有发现,按不及格处理。 4)答辩与评分标准: (1)考勤:10分; (2)程序检查:30分; (3)答辩回答问题:20分 (3)课程设计报告:40分; 5)参考文献:
(1)java数据库编程实例。孙一林、彭波.清华大学出版社,2006 (2)java编程思想 陈昊鹏 饶若男等译 .北京:机械工程出版社,2005 (3)java课程设计 耿祥义 北京:清华大学出版社,2004 6)课程设计进度安排
内容 天数 地点 构思及收集资料 7 图书馆 编码与调试 5 实验室 撰写论文 3 图书馆、实验室
学生签名:
2009 年1 月 5 日
课程设计(论文)评审意见
(1)考勤(10分):优( )、良( )、中( )、一般( )、差( ); (2)程序检查(30分):优( )、良( )、中( )、一般( )、差( ); (3)答辩回答问题(20分):优( )、良( )、中( )、一般( )、差( ); (4)设计报告(40分):优( )、良( )、中( )、一般( )、差( );
评阅人: 职称: 讲师
年 月 日
华东交通大学课程设计报告
目 录
一.课设任务及要求???????????????1 二.需求分析??????????????????1 三.设计思路??????????????????2 四.详细设计??????????????????4 五.运行调试与分析讨论 ????????????14 六.设计体会与小结 ??????????????17 七.参考文献 ?????????????????19
华东交通大学课程设计报告
一、课设任务及要求
题目 计算器
设计内容 设计一个图形界面(GUI)的计算器应用程序,完成简单的算术运算、
设计要求 设计的计算器应用程序可以完成加法、减法、乘法、除法和取余运算。且有小数点、正负号、求倒数、退格和清零功能。
学习要点 本程序主要练习使用布局管理器设计一个计算器的界面,并练习使用事件监听器处理数据的输入,并完成相关的计算。
二、需求分析
1、系统功能要求:要求可以完成在计算器的界面上进行加、减、乘、除等运算。
2、系统性能要求:本程序是简单的标准化考试系统,对安全性,可靠性,存储容量等性能并没有特别的要求,实现功能即可。
3、系统运行要求:由于本程序是运用java语言编成的,所以首先必须在电脑上安装java虚拟机,并对环境变量进行设置。完成java的环境设置后,在集成环境Jcreator中进行编程。
此程序先声明三个面板,然后通过网格布局方式布局,然后逐一添加各个按钮,实例化面板,注册监听者。所有功能主要通过一个主类实现 public class Counter extends Frame {
}
在其中定义所有程序需要的事件,函数,方法。
第 1 页
华东交通大学课程设计报告
三、设计思路
本应用程序继承自框架类(Frame),此程序使用Frame布局管理器BorderLayout,将单行文本框加入到“North”区域,包含各种按钮的面板Panel p加入到”Center”区域。 包含各种按钮的面板Panel p 采用4行5列的网格布局,然后将数字按钮和运算符按钮以及控制按钮添加到面板中。同时注册按钮事件监听器。如: Button b=new Button();
b.addActionListener(事件监听器);
事件监听器中的事件处理方法void actionPerformed(ActionEvent evt)完成主要的按钮事件的处理。事件处理分以下几种情况:数字按钮事件(”0”,”1”,”2”?”8”,”9”)、运算符按钮事件(”+”,”-“,”*”,”/”,”%”)、正负号按钮事件(”+/-“)、小数点按钮事件(”.”)、等号按钮事件(”=”)、求倒按钮事件(”1/x”)、退格按钮事件(”退格”)、清零按钮事件(“C”)。 在事件处理。
触发按钮事件时,要进一步分析,是重新开始计算时触发的按钮事件还是计算中间触发的按钮事件。
计算器完成的是一个数学表达式,如:3+2,所以可以采用一个链表(LinkedList类)来存储数字或字符,如3,+,2分别存储在链表中,最后运算时,可以一一取出来进行运算。
第 2 页