《课程设计--简单计算器.docx》由会员分享,可在线阅读,更多相关《课程设计--简单计算器.docx(14页珍藏版)》请在优知文库上搜索。
1、目录第1章课题概述21.1课题的目的21.2课题的要求21.2 .1输入输出的要求21.3 .2程序实现的功能要求2第2章概要设计32.1 整个程序的模块结构及流程32.2 2实现可显示窗口界面42.3 输入数据合法性的检测及初步处理4第3章程序功能的实现52.3.1 基本框架的实现52.3.2 添加相应的按钮63. 1.3运算设计代码6第4章调试及发现问题的解决93.1 除数不能为零93.2 当输入的运算符超过两个9第5章程序测试及分析10第6章总结11参考文献12本次数据结构课程设计的题目是设计并实现一个简单的计算器进行数字的简单算法。1.1 课题的目的(I)理解并掌握JaVa中的类、对象
2、、继承、方法等概念,以及APPlet的基本框架和事件处理的方法。(2)学会一些按钮,标签,主件,文本框的使用;(3)学会使用JDK编写、调试和运行JaVaAPPIet应用程序。(4)利用awt组件编写一个计算器,实现基本的四则运算。1.2 课题的要求1.2.1 输入输出的要求(1)程序运行后应首先输出一个主菜单,并将所有的数字及加、减、乘、除等功能罗列在主菜单上供用户进行选择,以便进行相应的操作。(2)运算对象从鼠标点击输入,并且能及时的更新数据。(3)用户每次更新输入数据并选择运算菜单后,应能立即输出运算的结果。(4)运行结果的输出应整齐、清晰,以便用户能够验证程序的正确性。1.2.2程序实
3、现的功能要求文本框放置在最NORTH,然后。到9以及+,*,/的按钮放置到一个面板Panel中,添加到整体布局的CENTER,界面设计完成。布局设计好后再添加按钮事件。对于此程序要考虑到点击加、减、乘、除按钮时是否有点击数字按钮,如果是第一次点击数字按钮或者是点击数字按钮前点击了加、减、乘、除按钮则直接把数字按钮的数值设置到文本框中,否则则应把文本框中的内容加上你所点击按钮的数值设置到文本框中。在进行加、减、乘、除计算时要把点击加、减、乘、除按钮之前的数值保存下来,运算时是这个被保存下来的数值和文本框中的数值加、减、乘、除。第2章概要设计2.1 整个程序的模块结构及流程根据课题要求,整个程序按
4、分为数字键及加减乘除按键和显示屏。为更好地提供程序的人机交互能力,程序还应提供退出程序、清零等功能。功 能 模 块运算器数据运算符号退出界面2.2 实现可显示窗口界面由于用户需要在程序一次运行后能够获取键盘的信息,也就是说,这个运行结果要始终保留给用户,所以可以通过一个可视化的窗口把信息呈现给用户。这个可视化的窗口要求可以显示给用户,它应该有美观的外观,简洁的图形元素,相应的信息输出。一般情况下,用户需要对窗口进行指示,比如调整窗口大小,使得窗口显示或者隐藏,这都需要程序员事先考虑到并通过代码来实现符合用户需要的这些各项功能,以便用户实现。2.3 3输入数据合法性的检测及初步处理参与运算的两个
5、数均可由用户输入后更新,为防止用户输入非法数据,在更数之前,对用户输入的字符串进行数据合法性检验是非常重要的。运用for循环以及SWitCh语句来处理数字的合法性及处理异常,提示用户如何去正确的输入数字。3.1.1 基本框架的实现界面设计要求用GUI,界面设计中有用到SWing组件的TeXtFieId、Button,和JLable用到aWt中的BorderLayout和GridLayout布局管理方式,其图形界面如下:框架构成的代码如下privateStringstr=7z8,9,z“4“,“5“,,6z11*1122l,z,3,z,-z,J,0l,z,=zl,+,;JButtonbutton
6、s=newJButtonstr.length;JButtonreset=newJButton(CE);JTextFielddisplay=newJTextField();publicJCalculator()super(Calculator);JPanelpanell=newJPanel(newGridLayout(4,4,10z10);for(i=O;istr.length;i+)buttonsi=newJButton(stri);panell.add(buttonsi);JPanelpanel2=newJPanel(newBorderLayout();panel2.add(Centerzd
7、isplay);panel2.add(Eastzreset);getContentPane().add(Northpanel2);getContentPane().add(nCenternzpanell);for(i=O;istr.length;i+)buttonsi.addActionListener(this);reset.addActionListener(this);display.addActionListener(this);setSize(300z200);SetVisible(true);display.SetEditable(false);SetResizable(false
8、);3.1.2 添加相应的按钮运用两个for循环来添加及监听相应的按钮for(i=0;istr.length;i+)buttonsi=newJButton(stri);panell.add(buttonsi);for(i=0;istr.length;i+)buttonsi.addActionListener(this);reset.addActionListener(this);display.addActionListener(this);3.13运算设计代码publicvoidgetValue()Stringtext=display.getText();doubleresult=0;Str
9、ings=+,-z*,/;Stringtm=;for(inti=0;is.length;i+)/+-if(textindexf(si)!=textIastIndexOf(si)JOptionPane.ShowMessageDialog(thisr,输入格式错误!);display.setText();return;if(text.contains(+)tmp=+”;elseif(text.contains(-)tmp=-;elseif(text.contains(,*)tmp=,*,;elseif(text.contains(,n)tmp=/;if(tm.equals(+)tmp=:;tet=
10、text.replace(z,:,);elseif(tmp.equals)tmp=;text=text.replace(,z,);elseif(tmp.equals(*)tmp=z;text=tet,replace(,*zz);elseif(tmp.equals(/)tmp=;text=text.replace(,/,z);Stringstr=text.split(tmp);switch(tm)case:result=Double.parseou2e(str0)+Double.parseDouble(strl);break;case:result=Double.parseDoub.Ze(str
11、0)-Double.parseDouble(strl);break;case”,,:result=DoUble.parse。Uble(Str0)*Double.parseou2e(strl);break;case:if(Double.parseDou2e(str1)=0)JOptionPane.ShowMessageDialog(thsf”除数不能为0!”);display.setText();return;result=Double.parseou2e(str0)/Double.parseDouble(strl);break;Stringst=display.getText()+,=,+re
12、sult;display.setText(st);第4章调试及发现问题的解决2.1除数不能为零运算过型如果输入的除数丝则会提示消息Ea除数不能为0!确定;if(Double.parseoub2e(str1)=0)JOptionPane.ShowMessageDialogtthisr”除数不能为0!”);2.2当输入的运算符超过两个该计算器为了使用户更加方便的使用计算器,设计了只运算一个运算符,当出现两个时显示消息E3输入格式错误!确定if(text,indexf(si)!=text.IastIndexOf(si)JOptionPane.ShowMessageDialog(thisr”输入格式错
13、误!);display.setText();return;运行程序,结果如图5-1。经过努力的学习及零碎时间,终于是完成了简单计算器的课程设计实验,在这过程中感到了JaVa的乐趣以及做出一样东西的自豪感,我相信我会喜欢上编程,总结下来有一下几点:1、遇到困难时应该如何去做。当遇到困难时我们不应该退缩,我们要勇往直前,到图书馆里去搜索书籍,或到网上去搜一些资料及视屏相信你会从中收获很多,实在不行的话我们还可以找老师,虚心的向他们请教问题。2、培养自学的能力。大学培养的优秀学生不是只从老师那里学到的知识,而要培养的是有自学的能力大学生,只有拥有自学能力才能够在社会上占有一席地位,才能更快的成长。3
14、,、养成良好的学习态度和学习习惯,培养正确的学习方法。完成任何一件事情,态度都是重要的,态度决定工作完成的好坏。编写程序需要极大的耐心,对于初学者来说,一个窗口小程序的完成并非易事,是意见需要花费时间的事。同时也需要细致谨慎,尽量少出差错,遇见提示的错误要立即解决,积攒下来,对于长代码来讲,要逐字逐句地浏览,得不偿失。4、敢于正视自己的错误拥有团队意识对于任何一个程序功能,不能仅仅满足于输入正确的数据时能得到正确的运行结果。而当输入错误数据时,还要能及时检查出数据的错误,并允许改正数据,亦即保证程序的健壮性。我们要有耐心去面对这些。一个好的程序不只是靠自己编出来的,而是要有一个好的团队,只有具备这种团队意识才能够好好的在公司中发展,才能成就自己的未来。参考文献1袁海燕、王文涛.Java实用程序设计100例.北京:人民邮电出版社2宋波、李晋、刘杰、JaVa程序设计。清华大学出版社