Java计数器模拟程序课设说明书文档格式.docx
- 文档编号:18391677
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:15
- 大小:84.56KB
Java计数器模拟程序课设说明书文档格式.docx
《Java计数器模拟程序课设说明书文档格式.docx》由会员分享,可在线阅读,更多相关《Java计数器模拟程序课设说明书文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
附件Ⅰ程序代码10
摘要
Java是一门编程语言,也是一个平台,它基于Java虚拟机技术,机为主这个东西建立了跨平台优势。
本计算器可以进行简单的四则运算(加、减、乘、除),但仅限于十进制。
还有清零和退格功能。
该程序显示GUI界面。
关键词:
JAVA;
计算器;
程序设计;
四则运算。
前言
该程序是一个图形界面的简单的java计算器,使用人员能快捷简单地进行操作。
即时准确地获得需要的计算的结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定的帮助。
可以进行简单的四则运算(加、减、乘、除,以及求倒数,求相反数),有退格功能,归零表示初始化,界面颜色为灰白,该程序支持键盘操作。
随着科学技术的不断发展,计算机已经成为我们工作学习和生活中不可缺少的工具。
文本编辑器是个人计算机最司空见惯的应用程序了,在学习了Java语言之后,我决定使用Java语言编写一个简单的计算器,可以实现简单的运算功能,满足日常基本的工作学习和娱乐需要。
Java是由Sun公司开发的新一代纯面向对象的网络编程语言。
其目标是建立一种在任意种机器、任一种操作系统的网络环境中运行的软件,实行所谓的“程序写一次,到处运行”的目标。
正因为如此,Java已成为当今Internet上最流行、最受欢迎的一种程序开发语言。
Java开发小组把Java按特性分为基本版、移动版、企业版,每个版本有一个软件开发包。
Java基本版本叫Java2标准版(Java2StandardEdition,J2SE),它包含建立Java应用程序或者是Applet所需的应用程序编程接口(API)。
Java2移动版(TheJava2MobileEdition,J2ME)包含创建无线Java应用程序的API。
还有Java2企业版(TheJava2Enterprise,J2EE)是J2SE的增强版本,包含建立多层架构应用程序API。
正文
1.问题描述
该计数器模拟程序具体功能要求是要能够显示GUI用户界面,用java语言设计并以JDK为开发平台能实现整数的加、减、乘、除四则运算而且界面要用图形界面实现
2.逻辑设计
首先明确该实验设计的要求实现的基本功能,其次设计布局,将空间划分为由行和列组成的网格单元,每个单元放一个组件,网格单元大小可以不同,尽量将相同属性的按钮放在一个区域,方便操作。
程序流程图如下图:
3.详细设计
一、程序中所用的组件:
mportjavax.swing.*;
importjava.awt.Container;
importjava.awt.event.*;
二、
utputField.setEditable(false);
//指示此TextComponent是否应该为可编辑的
contentPane=this.getContentPane();
//返回此窗体的contentPane对象;
this.setSize(250,250);
p1.setLayout(newjava.awt.GridLayout(4,5));
//创建具有4行5列的布局
for(inti=0;
i<
keyButton.length;
i++)//在容器中画上按钮
三、程序功能介绍:
功能1,该程序为十进制计算器,可进行普通十进制计算。
功能2,可进行四则运算(加、减、乘、除)以及求负数,求倒数运算。
功能3,可进行退格,点击“退格”键将逐个删除已经输入的数据。
点击“归零”键可实现计算器的初始化
4.程序调试与测试
1.调试显示计算器GUI界面:
图1.运行结果
2.加法运算:
4+5=9;
图2.加法结果
3.减法预算6-2=4;
图3.减法运算
4.乘法运算:
5*3=15;
图4.乘法运算
5.除法运算:
24/4=6;
图5.除法运算
5.结果分析
程序正常的响应按钮事件,进行混合四则运算的时候,结果如果不是很大,可以正常显示,但如果结果很大,就可能采用科学记数方式,这样带来了进制转换时的麻烦,需要特殊的处理科学记数里的E,当结果太大的时候,有可能超出可能表示的最大值,(结果溢出),这个时候就会对结果进行溢出提示,我并未设置异常类来相应异常事件,但是程序在发生异常时会提示Infinity字符。
6.软件安装和使用说明书
该程序采用结构化的程序设计方法编写而成,安装非常简单,只需在windows系统下安装该程序的可执行文件就可以让有一定计算机基础的人员,根据程序的提示信息开始操作。
本程序充分考虑到了操作者的技术要求,旨在降级程序的操作要求达到人人可操作程度。
所以,程序中给出了相当多的操作提示,以便减轻用户的操作难度,以使广大用户易于接受。
设计总结
1.通过用java编写计数器课程设计,我不仅复习了以前学习过的知识,更深刻的懂得了学好学会了并不是代表就能够在真正的实践中运用的流畅,这次实践给了我们一个既动手又动脑,独立实践的机会但其中又包含着共同合作,这次又将理论和实践相结合,提高我们的分析、解决实际问题的能力,并且让我认识到了要从要从实际、实践出发提高自己的学术能力;
通过这次课程设计使我懂得了理论与实际相结合很重要,只有理论知识是远远不够的,只有把所学的理论知识与实际相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
2.善于总结,也是学习能力的一种体现,每次完成一个编程任务,完成一段代码,都应当有目的的跟踪该程序的应用状况,随时总结,找到自己的不足,这样所编写的程序才能逐步提高。
3.经过这么多天的学习,我深刻认识到自己的不足和缺点,自己处于怎么样的水平,但是我也了解到自己的长处和优点,不管怎么样,通过这次的实践练习,我懂得了怎么和他人合作,要取长补短,相互合作。
参考文献
[1]java就业培训教程.张孝祥.北京:
清华大学出版社,2003
[2]java编程思想陈昊鹏饶若男等译.北京:
机械工程出版社,2005
[3]java2应用编程150例张晨付冰赵军等北京:
电子工业出版社,2003
[4]java课程设计耿祥义北京:
清华大学出版社,2004.
[5]java应用程序设计和开发环境.徐永森;
南京大学出版社,2005
致谢
经过一个学期的JAVA学习,对JAVA编程有了一定的认识,在做这个课程设计的时候,刚开始感觉自己无从下手,不知道该怎么开始,很茫然。
最终利用网络资源和查阅图书馆的书籍,在李老师和同学的指导和讨论下,经过一段时间终于完成了这个设计。
当程序运行结束看到弹出的计算器的界面时,感到很欣慰,虽然只是一个小小的东西,但却是自己起步的成就,从中学到了很多书本知识不能体现的东西,对JAVA的学习有了一定的兴趣。
也通过这次的程序设计感觉到自己平时对于编程实际操作的贫乏,没有把书本上的知识真正的掌握牢固。
2.经过这么多天的学习,我深刻认识到自己的不足和缺点,自己处于怎么样的水平,但是我也了解到自己的长处和优点,不管怎么样,通过这次的实践练习,我懂得了怎么和他人合作,要取长补短,相互合作。
附件Ⅰ程序代码
importjavax.swing.*;
publicclassjisuanqiextendsJFrame
{
privateJPanelp1;
privateJButtonkeyButton[]=newJButton[16],signButton,clearButton,deleteButton;
privateJTextFieldoutputField;
privateContainercontentPane;
privatebooleanfirstInput=true;
privateCalculate_Modelmodel=newCalculate_Model();
@SuppressWarnings("
deprecation"
)
publicjisuanqi(){
p1=newJPanel();
keyButton[0]=newJButton("
1"
);
//创建各个按钮
keyButton[1]=newJButton("
2"
keyButton[2]=newJButton("
3"
keyButton[3]=newJButton("
/"
keyButton[4]=newJButton("
4"
keyButton[5]=newJButton("
5"
keyButton[6]=newJButton("
6"
keyButton[7]=newJButton("
*"
keyButton[8]=newJButton("
7"
keyButton[9]=newJButton("
8"
keyButton[10]=newJButton("
9"
keyButton[11]=newJButton("
-"
keyButton[12]=newJButton("
0"
keyButton[13]=newJButton("
."
keyButton[14]=newJButton("
="
keyButton[15]=newJButton("
+"
clearButton=newJButton("
c"
signButton=newJButton("
+/-"
deleteButton=newJButton("
←"
outputField=newJTextField();
//它允许编辑单行文本
outputField.setText("
outputField.setEditable(false);
if(i==4)p1.add(deleteButton);
if(i==8)p1.add(clearButton);
if(i==12)p1.add(signButton);
keyButton[i].setFont(newjava.awt.Font("
Dialog"
3,15));
//设置字体Dialog字体名,样式,大小
p1.add(keyButton[i]);
}
contentPane.add(outputField,java.awt.BorderLayout.NORTH);
contentPane.add(p1,java.awt.BorderLayout.CENTER);
this.show();
}//用于显示界面
publicvoidregistEvent()//注册各个事件
this.addWindowListener(newWindowAdapter()//窗口事件,窗口关闭里程序关闭
publicvoidwindowClosing(WindowEventwe)
System.exit(0);
});
i++)
keyButton[i].addActionListener(newkeyButtonHandler());
//为每一个按钮添加监听器
signButton.addActionListener(newActionListener()
publicvoidactionPerformed(ActionEventae)
outputField.setText(String.valueOf(model.toSign(Double.parseDouble(outputField.getText()))));
deleteButton.addActionListener(newActionListener()
outputField.setText(model.backSpace(outputField.getText()));
if(outputField.getText().equals("
))
firstInput=true;
clearButton.addActionListener(newActionListener()
model.reset();
classkeyButtonHandlerimplementsActionListener
charactionCommand=ae.getActionCommand().charAt(0);
switch(actionCommand){
case'
1'
:
2'
3'
4'
5'
6'
7'
8'
9'
0'
.'
if(firstInput)//是否为首次输入
outputField.setText(String.valueOf(actionCommand));
firstInput=false;
else
outputField.setText(outputField.getText()+actionCommand);
break;
+'
-'
*'
/'
if(firstInput)
model.setOperate(actionCommand);
model.setOperateNumber(Double.parseDouble(outputField.getText()));
model.calculating();
outputField.setText(String.valueOf(model.getResult()));
='
publicstaticvoidmain(Stringargs[])
newjisuanqi().registEvent();
/******************************************
*****计算的模块****************************/
classCalculate_Model
privatedoubleresult;
privatedoubleoperateNumber;
privatecharoperate;
publicCalculate_Model()//构造方法进行初始化
result=0;
//结果
operateNumber=0;
//操作数
operate='
'
;
//操作符
publicvoidsetResult(doublen)//设置结果,成员变量result是private的
result=n;
publicvoidsetOperate(charo)//设置操作符
operate=o;
publicvoidsetOperateNumber(doublen)//设置操作数
operateNumber=n;
publicdoublegetResult()//获取结果
returnresult;
}
publicvoidcalculating()//计算过程
switch(operate)
result=operateNumber;
//分别对操作判断后进行相应操作
result+=operateNumber;
result-=operateNumber;
result*=operateNumber;
result/=operateNumber;
publicvoidreset()//重设方法
publicdoubletoSign(doublen)//正负转化
return0-(n-0);
publicStringbackSpace(Stringn)//对backSpace设置
StringreResult="
try
reResult=n.substring(0,n.length()-1);
//从第一个开始取前n-1个
Double.parseDouble(reResult);
//将其转化为Double型
catch(NumberFormatExceptione)
reResult="
returnreResult;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 计数器 模拟 程序 说明书