面向对象程序设计课程设计划书模板new计算器设计Word下载.docx
- 文档编号:18303240
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:19
- 大小:164.71KB
面向对象程序设计课程设计划书模板new计算器设计Word下载.docx
《面向对象程序设计课程设计划书模板new计算器设计Word下载.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计课程设计划书模板new计算器设计Word下载.docx(19页珍藏版)》请在冰豆网上搜索。
工作计划及安排
2011-12-26起至2011-12-27查询相关资料,对这个关于计算机的Java程序设计进行大体编排
2011-12-28起至2011-12-30对程序进行编写,运行,调试
2011-12-30完成设计
指导教师签字
年月日
课程设计(大作业)成绩
学号:
201011010208姓名:
蒋孝林指导教师:
何英老师
计算器程序设计
总结:
这次的课程设计,是我对Java有了进一步的了解和体会。
对于这次课程设计,我最大的感受就是自己对教材并不是很熟悉,所掌握和熟悉的知识不够,在设计的过程中出现了很多弯路,所以在以后进一步的学习和深入中,我会多查阅一些相关资料,多想,多实践,更好的巩固所学的知识,以求加深对java的理解。
我会总结在课程设计中发现的技巧性知识,在议会的学习中学会学以致用,把学会的更好的应用在生活中,在学习中发现问题。
提出问题,然后解决问题。
多想同学和老师请教,在以后的学习中取得好的成绩
指导教师评语:
成绩:
填表时间:
指导教师签名:
1、课程设计介绍…………………………………………………………………4
1.1课程设计内容………………………………………..........................................4
1.2课程设计要求………………………………………………………………….4
2、总体设计………………………………………………………………………4
2.1课设题目总体设计、算法描述………………………………………4
2.1.1、功能模块设计………………………………………………………4
2.1.2、界面设计代码…………………………………………………….4
2.2功能模块图、流程图分析……………………………………………..6
3、调试与性能分析(相关截图)……………………………………………6
4、参考文献…………………………………………………………………………..8
附录(程序清单).................................................................................................9
1、课程设计介绍
1.1课程设计内容
本计算器是由java语言所编程设计的标准计算器,可以进行十进制下的四则运算(加、减、乘、除)、开根号、百分号、求倒数,还可以实现数值的符号转换操作。
,Backspace表示退格,CE表示将当前文本框内数据清除,C表示文本框内数据清除。
此外还提供了“编辑”、“查看”、“帮助”三个菜单项,使用者可通过使用菜单项实现复制、粘贴功能。
界面类似windows自带计算器界面。
1.2课程设计要求
(1)设计一个标准型的计算器应用程序,完成简单的算法运算。
(2)该程序可以通过鼠标一次键入参加计算的数值,不仅可以参加加减乘除运算,还可以完成开方、百分运算、倒数运算等这些运算,并且还有小数点、正负号、退格、清零这些功能。
2、总体设计
2.1、课设题目总体设计、算法描述
2.1.1、功能模块设计
计算器基本功能
(1)加法
两个数据进行加操作,可以为小数。
(2)减法
两个数据进行减操作,可以为负数相减。
(3)乘法
两个数相乘操作。
(4)除法
两个数相除操作。
(5)开平方
对任意一个数进行开方运算,可以是小数。
(6)百分号
对任意一个数进行百分号运算。
(7)倒数
对任意一个数进行倒数运算。
算法分析:
事件监听器的事件处理方法voidactionPerformed(ActionEventevt)完成主要的按钮事件的处理。
事件处理分为以下几种情况:
数字按钮事件(“0”、“1”、“2”、“3”、….“8”、“9”),运算符按钮事件(“+”、“-”、“,”“*”、“/”、“%”),正负值按钮事件(“+/-”),小数点按钮事件(“.”),等号按钮事件(“=”),求倒按钮事件(“1、x”),退格按钮事件(“CE”),
清除按钮事件(“C”),
2.1.2、界面设计代码
计算器的界面由一个文本框及27个按钮组成,具体实现代码如下所示:
JPanelpa1=newJPanel();
pa1.setBackground(newColor(236,231,210));
text=newJTextField("
0."
31);
pa1.add("
North"
text);
//面板添加和按钮的设置
JPanelpa=newJPanel();
JPanelpa2=newJPanel();
JButtonbt1=newJButton("
Backspace"
);
JButtonbt2=newJButton("
CE"
JButtonbt3=newJButton("
C"
bt1.addActionListener(this);
bt2.addActionListener(this);
bt3.addActionListener(this);
pa2.add(bt1);
pa2.add(bt2);
pa2.add(bt3);
pa.setLayout(newBorderLayout());
pa.add(pa2,"
JPanelp1=newJPanel();
p1.setLayout(newGridLayout(4,1,2,5));
JButtonbt4=newJButton("
MC"
JButtonbt5=newJButton("
MR"
JButtonbt6=newJButton("
MS"
JButtonbt7=newJButton("
M+"
p1.add(bt4);
p1.add(bt5);
p1.add(bt6);
p1.add(bt7);
pa.add(p1,"
West"
JPanelp=newJPanel();
p.setLayout(newGridLayout(4,5,2,5));
Stringbuttons[]={"
7"
"
8"
9"
/"
sqrt"
4"
5"
6"
*"
%"
1"
2"
3"
-"
1/x"
0"
."
="
+"
+/-"
};
JButtonbtn[]=newJButton[buttons.length];
for(inti=0;
i<
buttons.length;
i++)
{addButton(p,buttons[i]);
pa.add(p,"
Center"
}
South"
pa);
this.getContentPane().add(pa1);
}
privatevoidaddButton(Containerc,Strings)
{JButtonb=newJButton(s);
c.add(b);
b.addActionListener(this);
2.2功能模块图、流程图分析
3、调试与性能分析(相关截图)
(1)标准计算其界面
(2)、加、减、乘除运算演示
分别输入8和4进行运算演示
※加法
8
=
※乘法
*
=
※开方运算
sqrt
※百分号运算
%
※倒数运算
1/x
4、参考文献
Java语言程序设计(第6版)机械工程出版社
5、附录(程序清单)
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
publicclassjisuanqiextendsJFrameimplementsActionListener,ItemListener{
JTextFieldtext;
JTextFieldtextMemory;
booleanclickable;
doublememoryd;
//使用内存中存储的数字
intmemoryi;
Stringcopy;
publicjisuanqi(){
super("
计算器"
setSize(357,253);
publicvoidinit(){
clickable=true;
text.setHorizontalAlignment(JTextField.RIGHT);
//从右到左
//功能的实现
publicvoidactionPerformed(ActionEventevt)
{
Strings=evt.getActionCommand();
if(s.equals("
)||s.equals("
)){
text.setText("
"
////////////////////
elseif(s.equals("
))//单击"
选择输入的运算数是正数还是负数
{doublex;
x=Double.parseDouble(text.getText().trim());
text.setText("
+(-x));
}
else
if(s=="
){
Strings1=text.getText();
if(s1.charAt(0)=='
-'
&
clickable==true){
负数不能开根号"
clickable=false;
else
text.setText(Double.toString(java.lang.Math.sqrt(Double.
parseDouble(text.getText()))));
elseif(s.equals("
))//单击了"
按钮
+(0.01*x));
//str.setLength(0);
//y=0d;
1/X"
if(x==0)
{
除数不能为零"
+(1/x));
//按下'
+/-'
按钮时处理
if(s=="
&
booleanisNumber=true;
s.length();
i++)
if(!
(s1.charAt(i)>
='
0'
s1.charAt(i)<
9'
||s1.charAt(i)=='
.'
||
s1.charAt(i)=='
)){
isNumber=false;
break;
if(isNumber==true){
//如果当前字符串首字母有'
号,代表现在是个负数,再按下时,则将首符号去掉
if(s.charAt(0)=='
for(inti=1;
s1.length();
i++){
chara=s1.charAt(i);
text.setText(text.getText()+a);
//如果当前字符串第一个字符不是符号,则添加一个符号在首字母处
text.setText('
+s);
//计算器有关内存操作
//'
MC'
的操作,将内存清0
if(s=="
memoryd=memoryi=0;
textMemory.setText("
MS'
的操作,将当前文本框内容保存入内存,显示'
M'
booleanisDot=false;
M"
text.getText().length();
if('
==text.getText().charAt(i)){
isDot=true;
//如果是double,则存入memoryd(double存储器)
if(isDot==true){
memoryd=Double.parseDouble(text.getText());
memoryi=0;
//保证存储器中存放最新的值
//如果是int,则存入memoryi(int存储器)
else{
memoryi=Integer.parseInt(text.getText());
memoryd=0;
MR'
的操作,将存储器中的信息输出
if(memoryd!
=0)
text.setText(Double.toString(memoryd));
if(memoryi!
text.setText(Integer.toString(memoryi));
M+'
的功能,将当前文本框里的数据和存储器中数据相加后,再存入存储器
=0){//存储中是一个int型数
if(isDot==false)//被加数是一个int型数
memoryi+=Integer.parseInt(text.getText());
else{//被加数是一个double型数,则将int存储器中数传入double存储器与当前数相加,int存储器清零
memoryd=memoryi+Double.parseDouble(text.getText());
memoryd+=Double.parseDouble(text.getText());
<
=s.charAt(0)&
s.charAt(0)<
||s.equals("
))
{//text.setText("
if(start)
text.setText(s);
elsetext.setText(text.getText()+s);
start=false;
{if(start)
{if(s.equals("
))
{text.setText(s);
elseop=s;
doublex=Double.parseDouble(text.getText());
calculate(x);
op=s;
start=true;
}
publicvoidcalculate(doublen)
{if(op.equals("
))arg+=n;
elseif(op.equals("
))arg-=n;
))arg*=n;
))arg/=n;
))arg=n;
+arg);
privatedoublearg=0;
privateStringop="
;
privatebooleanstart=true;
publicvoiditemStateChanged(ItemEvente)
{
publicstaticvoidmain(Stringargs[])
JFrameframe=newJFrame();
jisuanqimyMenu=newjisuanqi();
myMenu.init();
myMenu.setVisible(true);
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 课程 计划书 模板 new 计算器 设计