课程设计--简易计算器.docx

上传人:王** 文档编号:782528 上传时间:2024-01-14 格式:DOCX 页数:16 大小:134.93KB
下载 相关 举报
课程设计--简易计算器.docx_第1页
第1页 / 共16页
课程设计--简易计算器.docx_第2页
第2页 / 共16页
课程设计--简易计算器.docx_第3页
第3页 / 共16页
课程设计--简易计算器.docx_第4页
第4页 / 共16页
课程设计--简易计算器.docx_第5页
第5页 / 共16页
课程设计--简易计算器.docx_第6页
第6页 / 共16页
课程设计--简易计算器.docx_第7页
第7页 / 共16页
课程设计--简易计算器.docx_第8页
第8页 / 共16页
课程设计--简易计算器.docx_第9页
第9页 / 共16页
课程设计--简易计算器.docx_第10页
第10页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《课程设计--简易计算器.docx》由会员分享,可在线阅读,更多相关《课程设计--简易计算器.docx(16页珍藏版)》请在优知文库上搜索。

1、第1章课题概述11.1 课题的目的11.2 课题的要求1第2章概要设计22.1整个程序的模块结构及流程2第3章计算器详细设计33.1计算器界面33.1.1CAL主类的显示布局33.1.2计算器显示界面实现代码33.2监听各个按钮的类53.2.1编写监听类目的53.2.2监听类实现代码53.3按键响应类63.3.1响应类编写的目的63.3.2响应类实现代码63.4运算处理类93.4.1处理方式93.4.2处理类实现代码9第4章调试及发现问题的解决10第5章程序测试及分析11第6章总结14参考文献15第1章课题概述本次课程设计的题目是设计并实现仿照Window系统中的“计算器”,利用Java的GU

2、I实现一个简单的计算器。1.1 课题的目的日常生活中我们经常会遇到一些小型数据计算的问题,计算器在我们的生活中常常会使用到,本课程设计就是以此为出发点,设计了这样一个简单的计算器,用以实现基本的数学运算。在java语言当中通过定义类,类中的各种方法实现对计算器相关功能的实现,并通过与用户自己手动输入并选择运算功能实现计算功能,是一个完全由用户控制的简易计算器。本次课程设计,通过界面以及其中的逻辑处理,完成了四则运算的处理。通过awt包或者SWing包中的界面设计部分对界面设计的细节可以有更多的了解。利用面向对象的思想,将各个组件的事件响应分别用不同的类表达出来。面向对象的思想从很大程度上可以让

3、程序的思路更加清晰,而且可重用性很高。对于具有相同事件响;应的组件则可以调用相同的类来处理事件。除此之外,利用栈的知识来解决运算符优先的问题也让我们对java中的栈有了更多的了解。1.2 课题的要求仿照Window系统中的“计算器”,利用JaVa的GUI实现一个简单的计算器。程序的基本功能:1 .单击“计算器”上的数字按钮(0-9)可以设置参与计算的运算数。2 .单击“计算器”上的运算符按钮(+、-、*、/)可以选择运算符号。3 .单击“计算器”上的“二”按钮显示计算结果。4 .应用自己所学课程知识完成对计算器的基本任务。5 .查阅相关资料,学习和掌握项目中涉及的新知识,提高自学能力。6 .通

4、过应用java程序编写计算器来提升自己对简单的图形界面有一定的掌握和了解。第2草概要设计2.1整个程序的模块结构及流程在设计程序的时候,考虑到计算器的功能,首先编写一个CAL类,在该类中按照其功能分别写了一个方法实现,在程序开始后,可以看到一个控制面板形式的计算器界面展现在用户面前,用户自己输入数据和选择要运算的功能进行计算。具体方法有:加减乘除运算、乘方开方运算、正余弦正切运算、删除阶乘运算等具体的关系结构如图27所示i2U运算输出运算结果图2-1整个程序各功能模块间的流程第3章计算器详细设计3.1 计算器界面3 .1.1CAL主类的显示布局为了方便用户的使用,创建了一个带按钮的控制面板。将

5、所有的运算键、数字键等都放在该面板中方便用户选择与使用o所有的运算选择都完全由用户掌控。4 .1.2计算器显示界面实现代码publicvoiddisp()(frame=newJFrame();frame.SetTitIe(陈路尧的个人计算器”);frame.setSize(360,230);frame.SetLocation(380,260);frame.SetBackground(Color.LIGHTGRAY);frame.SetLayout(newFlowLayout(FlowLayout.CENTER);frame.SetResizable(false);计算器disTop模块,包括数

6、字显示文本框、back,ce,c,about按钮show=newJTextFicld(Bl);show.SetTeXt(0);show.SetHorizontalAlignment(SwingConstants.RIGHT);show.SetEditable(false);frame,add(show);PaneldispTop=newPanel();frame.add(dispTop);dispTop.SetLayout(newGridLayout(1,4,3,3);be=newJButton(/zBack);be.SetForeground(Color.BLUE);dispTop.add(

7、be);ce=newJButton(/zCE);ce.SetForeground(Color.BLUE);dispTop.add(ce);c=newJButton(,C);c.SetForeground(Color.BLUE);dispTop.add(c);广告按钮,显示计算器制作者ab=newJButton(/zAbout);ab.SetForeground(Color.BLUE);dispTop.add(ab);about=newJDialog(frame,“关于计算器“,true);Labelct=newLabCI(”本计算器由陈路尧制作“,1);ct.SetForeground(Col

8、or.RED);about,add(ct,Center);about.setSize(200,100);about.SetLocation(500,300);主要按钮显示面板包括disLeft和disRightPaneldispMain=newPanel();frame,add(dispMain);dispMain.SetLayout(newGridLayout(1,2,10,10);disLeft面板,包括0-9、+/-、。这十二个按钮PaneldispLeft=newPanel();dispMain.add(dispLeft);dispLeft.SetLayout(newGridLayou

9、t(4,3,3,3);PaneldispRight=newPanel();disRight面板,包括+、-、*、/、Sqrt、1/x、=这个人几个按钮dispMain.add(dispRight);dispRight.SetLayout(newGridLayout(4,2,3,3);新建0-9这是个按钮,并将其添加到disLeft中for(1=9;1=0;1-)bl=newJButton(String,valuef(1);dispLeft.add(bl);bl.addActionListener(this);)新建其余按钮,并分别将其添加到各自的面板中jia=newJBUtton(+);jia

10、.SetForeground(Color.RED);jian=newJBUttOn(一);jian.SetForeground(Color.RED);cheng=newJBUtton(*);cheng.SetForeground(Color.RED);chu=newJBUtton(/);chu.SetForeground(Color.RED);equ=newJBUtton(=);equ.SetForeground(Color.RED);point=newJBUttOn;zf=newJButton(/+/-);sqrt=newJBUttOn(sqrt);bfh=newJButton(Y);ds=

11、newJButton(,zlzz);dispRight.add(chu);dispRight.add(sqrt);dispRight.add(cheng);dispRight.add(bfh);dispRight.add(jian);dispRight.add(ds);dispRight.add(jia);dispRight.add(equ);dispLeft.add(zf);dispLeft.add(point);3.2监听各个按钮的类3.2.1编写监听类目的编写监听类的目的主要监听用户所按下的数字键和运算键,为了计算机后续的取得数据并进行运算做预备工作。给后续计算工作提供保障。3.2.2监

12、听类实现代码算法的代码实现如下:为各个按钮绑定监听器about.addWindowListener(this);be.addActionListener(this);ce.addActionListener(this);c.addctionListener(this);ab.addActionListener(this);jia.addActionListener(this);jian.addActionListener(this);cheng.addctionListener(this);chu.addActionListener(this);equ.addActionListener(th

13、is);point.addctionListener(this);zf.addActionListener(this);sqrt.addActionListener(this);bfh.addActionListener(this);ds.addActionListener(this);frame.addWindowListener(this);frame.setVisible(true);3.3按键响应类3.3.1响应类编写的目的通过监听类的监听,采集用户所按下的按键信息进行分析,并将分析结果保存为不同的方法和标记,通过不同的标记在运算过程中调用处理类中的不同方法实现计算功能。3.3.2响应

14、类实现代码算法的主体代码实现如下:publicvoidactionPerformcd(ActionEvente)getValue=Double,valuef(show.getText().doubIeVaIue();if(e.getSource()=jia)/加运算,可连加if(j=0)sum=getValue;elseif(action=1)sum+=getValue;)setSum();j+;P=O;i=0;action=1;elseif(e.getSource()=jian)/减运算,可连减if(j=0)sum=getValue;elseif(action=2)sum-=getValue;)setSum();j+;P=0;i=0;action=2;elseif(e.getSource()=cheng)(/乘运算,可连乘if(j=0)sum=getValue;elseif(action=3)sum*=getValue;)setSum();j+;P=0;i=0;action=3;elseif(e.getSource()=chu)/除运算,可连除if(j=0)sum=getValue;elseif(action=4)sum/=getValue;)setSum();j+;P=0;i=0;action=4;elseif(e.getSource()=equ)

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

当前位置:首页 > 办公文档 > 课程设计

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!