java课程设计Word格式.docx

上传人:b****5 文档编号:15803626 上传时间:2022-11-16 格式:DOCX 页数:28 大小:384.11KB
下载 相关 举报
java课程设计Word格式.docx_第1页
第1页 / 共28页
java课程设计Word格式.docx_第2页
第2页 / 共28页
java课程设计Word格式.docx_第3页
第3页 / 共28页
java课程设计Word格式.docx_第4页
第4页 / 共28页
java课程设计Word格式.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

java课程设计Word格式.docx

《java课程设计Word格式.docx》由会员分享,可在线阅读,更多相关《java课程设计Word格式.docx(28页珍藏版)》请在冰豆网上搜索。

java课程设计Word格式.docx

(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中进行编程。

此程序先声明三个面板,然后通过网格布局方式布局,然后逐一添加各个按钮,实例化面板,注册监听者。

所有功能主要通过一个主类实现

publicclassCounterextendsFrame{

}

在其中定义所有程序需要的事件,函数,方法。

三、设计思路

本应用程序继承自框架类(Frame),此程序使用Frame布局管理器BorderLayout,将单行文本框加入到“North”区域,包含各种按钮的面板Panelp加入到”Center”区域。

包含各种按钮的面板Panelp采用4行5列的网格布局,然后将数字按钮和运算符按钮以及控制按钮添加到面板中。

同时注册按钮事件监听器。

如:

Buttonb=newButton();

b.addActionListener(事件监听器);

事件监听器中的事件处理方法voidactionPerformed(ActionEventevt)完成主要的按钮事件的处理。

事件处理分以下几种情况:

数字按钮事件(”0”,”1”,”2”…”8”,”9”)、运算符按钮事件(”+”,”-“,”*”,”/”,”%”)、正负号按钮事件(”+/-“)、小数点按钮事件(”.”)、等号按钮事件(”=”)、求倒按钮事件(”1/x”)、退格按钮事件(”退格”)、清零按钮事件(“C”)。

在事件处理。

触发按钮事件时,要进一步分析,是重新开始计算时触发的按钮事件还是计算中间触发的按钮事件。

计算器完成的是一个数学表达式,如:

3+2,所以可以采用一个链表(LinkedList类)来存储数字或字符,如3,+,2分别存储在链表中,最后运算时,可以一一取出来进行运算。

设计流程图:

四、详细设计

1.类设计

在该程序中主要定义了一个Counter公有类,在其中定义一些事件和函数,其结构如下:

通过按钮、标签等各种控件设计各操作窗口的界面;

PublicCounter(){}//构造函数

addWindowListener(newWindowAdapter(){//匿名类关闭窗口

publicvoidwindowClosing(WindowEvente1)

{

}

classBtimplementsActionListener{//构造监听器

publicvoidactionPerformed(ActionEvente2)

publicstaticvoidmain(Stringargs[])

{

newCounter();

}

1.主要功能实现

该程序可以实现简单计算器的基本操作,包括加减乘除运算,用户可以在运行界面的显示屏中输入要计算的数值。

该计算器除了一些基本的运算外,还可以实现开方、取余、求倒数等一些附加功能.

加法运算的实现:

b25=newButton("

+"

);

b25.setForeground(Color.red);

b25.addActionListener(newBt());

p3.add(b25);

p3.setBounds(60,125,250,150);

elseif(e2.getSource()==b25)//单击加号按钮获得x的值和z的值并清空y的值

x=Double.parseDouble(tf1.getText().trim());

str.setLength(0);

//清空缓冲区以便接收新的另一个运算数

y=0d;

z=0;

}

运行结果截图:

结果:

12+18=30

减法运算的实现:

b20=newButton("

-"

b20.setForeground(Color.red);

b20.addActionListener(newBt());

p3.add(b20);

elseif(e2.getSource()==b20)//单击减号按钮获得x的值和z的值并清空y的值

x=Double.parseDouble(tf1.getText().trim());

str.setLength(0);

y=0d;

z=1;

56-30=26

乘法运算的实现:

b15=newButton("

*"

b15.setForeground(Color.red);

b15.addActionListener(newBt());

p3.add(b15);

elseif(e2.getSource()==b15)//单击乘号按钮获得x的值和z的值并清空y的值

{

x=Double.parseDouble(tf1.getText().trim());

z=2;

12*13=156

除法运算的实现:

b10=newButton("

/"

b10.setForeground(Color.red);

b10.addActionListener(newBt());

p3.add(b10);

elseif(e2.getSource()==b10)//单击除号按钮获得x的值和z的值并空y的值

z=3;

}

运行结果截图

96/6=16

清零键功能的实现:

b2=newButton("

C"

b2.setForeground(Color.red);

b2.addActionListener(newBt());

p1.add(b2);

elseif(e2.getSource()==b2)//选择"

清零

tf1.setText("

0"

//把显示屏清零

五、运行调试与分析讨论

运行调试截图:

2.所遇问题的分析与讨论

由于老师事前给了课设题目,所以在做JAVA课设之前,已经做好了预习工作,但是在做的期间遇到了不少的问题,运行此程序时遇到的最大的问题是窗口的布局,为了使界面更加的合理,均匀,美观,试验了好多次,但最后还是有不足之处,就是按钮的大小。

以后会注重这个方面的改进。

还有在运行中遇到的问题是监听器的构造功能,由于在学习的时候没有足够的重视,所以这个方面是我的薄弱环节。

最后在同学的帮助下,勉强实现了这一功能,使得通过这次课程设计,使掌握了这一方法,清楚了Java里有特定的函数可以实现这一功能,简单方便。

有一点不足的是菜单的实现,只实现了下拉菜单的框架,没有实现

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 调查报告

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1