JAVA计算器课程设计报告_第1页
JAVA计算器课程设计报告_第2页
JAVA计算器课程设计报告_第3页
JAVA计算器课程设计报告_第4页
JAVA计算器课程设计报告_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

-.z.基于JAVA的计算器的设计与实现学院(系):软件学院专业:软件工程学生:**:班级:指导教师:完成日期2016年10月基于JAVA的计算器的设计与实现[摘要]该文档是关于对Java版计算器的功能进行描述和介绍,该程序是要个图形界面的简单Java计算器,具有良好的界面使用人员能快捷简单的进行操作。即时准确的获得需要的计算结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定的帮助。可以进行简单的四则运算(加、减、乘、除等)。界面简单易操作,具体程序实现了:实现简单的加、减、乘、除、运算。实现了除了加、减、乘、除按钮外其他按钮功能,如:C表示清零,del表示删除。实现了连续运算能力。关键词:Java语言四则运算计算器目录TOC\o"1-3"\h\u1,绪论错误!未定义书签。1.1java版计算器的意义与结构错误!未定义书签。版计算器的意义错误!未定义书签。版计算器的论文结构错误!未定义书签。2,开发平台简介相关技术简介错误!未定义书签。2.1开发平台简介错误!未定义书签。平台错误!未定义书签。系统错误!未定义书签。环境22.2关键技术简介错误!未定义书签。2.2.1JFrame 错误!未定义书签。按钮的创建错误!未定义书签。2.3本章小结错误!未定义书签。3,需求分析错误!未定义书签。3.1可行性分析错误!未定义书签。3.2需求描述错误!未定义书签。3.3面向对象分析(用例图)错误!未定义书签。3.4功能分析33.5本章小结34,系统设计错误!未定义书签。4.1概要设计错误!未定义书签。4.2详细设计错误!未定义书签。5,系统实现错误!未定义书签。6,总结与展望错误!未定义书签。7,参考文献错误!未定义书签。8,致错误!未定义书签。第一章:绪论1,java版计算器的意义与结构java版计算器的意义所谓计算器一般指的是电子计算器。计算器是日常生活中十分便携有效的工具,能够实现加减乘除等简单的运算功能。本论文采用了java编程语言实现计算机的功能。该计算器大大降低了数字计算的难度并且提高了计算准确度和精确度。使用简单,适合广大工作人员和学生使用。随着信息时代的步伐,越来越得多的数字需要我们去处理,然而在我们日常生活中遇到的一些基本数字运算,以往简单的口算笔算,然而现在不同了,人们对计算机手机的依赖越来越高,遇到计算机问题不愿意用脑去思考,而是交由计算机或者手机来完成。为了给自己设计一个能够胜任自己学习的工作机会的计算器,决定自己通过所学的知识来编写一个简单的计算机。(2)论文结构本文共分为8章,各章的主要容介绍如下:第一章:首先介绍课题研究的意义,java版计算器的主要意义以及本论文的组织结构。第二章:主要介绍系统开发的平台,主要关键技术如下:Frame创建,按钮的创建。第三章:主要介绍本系统的可行性分析,性能分析,用户功能需求分析,需求分析,面向对象分析,主要功能分析。第四章:主要介绍系统设计,概念设计,包括功能模块图,详细设计,时序图,流程图以及概述,还有逻辑设计。第五章:主要介绍系统实现,主要编码和实现过程。主要功能界面,界面流程描述,核心代码。第六章:主要介绍总结与展望第七章:主要介绍参考文献,在完成代码的过程中参考的书籍都有哪些;第八章:致:感老师的指导,感同学的指引,感同学们在学习过程中提供的素材和帮助。还有在论文以及排版的过程中提供的热心帮助。本章小结:本章主要介绍了java版计算器的意义,以及本论文结构。:""平台"介与""技"1,""平台"介(1)Java平台Java是一"可以在不同操作系"(例如windows,uni*等)上"行的"程"言,Java平台是指"行在各"端(如pc,服"器,移""",嵌入式"")的系""件。PC机上的Java程序是javaSE上""出"的,服"器端的java程序是javaEE""出"的,移"""的java程序是用JAVAME""出"的。Java"言在网""程方面"用得很"泛,作"一"新的程序"""言,它""多",面向"象,不依"操作系"的特",具有很好的移植性和安全性,"些特""网""程""了很多便利。Java的平台根据用途""分,可以分"三"版本。JavaSE—JavaStandardEdition,""是Java的"准版,主要用于桌面"的"用和"据""。JavaEE-JavaEnterpriseEdition,""是Java的企"版本,提供了企""""的各种技",主要用于企""","在用的最多的也就是""平台。JavaME-JavaMicroEdition,""版本"人java平台主要用于嵌入式和移"式的"",最常用的就是手机"用"件""。Java作"一"优秀的"程"言,相"于其他"似的"言具有一定的优越性,"是由Java"言的如下特""定的。Java"言具有"",面向"象,分布式,安全,可移植性,多"的特"。Java"言是一种面向"象的"言,通"理解一些重要的概念就能""出各种功能的代"。Java"言主要集中用在"的""和接口功能方面,提供了"承及多"的机制,""中的成""量和方法可"行覆"和重",""了代"的重复使用,使代"""""。Java"言不支持指",所有的"",必"通"具体的"象"量""",""既保"了私有"量,同"也避免了一些""。Java"言"""生的文件是字""文件,字""文件和平台""。Java"言支持多"程技","多"程序任"分成几"并行的子任"。windows系"1980年,"布斯介"了一"新技",用""形界面,比""茨也意"到""技"的"在的价值,于是""微""始了Winows工作。1985年又"布了第一代窗口式多任"系","操作系"的推出,意味"PC机"始"入了"形界面,大部分操作"象都用相"的"""表示,"种操作界面形象直",""不"的改",它"增加了几"系"工具,用于自"""硬",文件系"和配置信息,可以自"修复一些一般性的系"""。"部"安置了大量的""程序,基本上包括了市面上流行的各种品牌,各种型"硬件的最新""程序,而且硬件""能力也有了很大的提高。同","提供了文件分配系",可支持2G以上的大分",而"硬","需重新分"和格式化,直接可以使用""器""。把最新的多媒体技",网"技"和Internet技""合在了一起,使""网"更加方便和快捷。技"是在不""步的,操作系"也在不"更新,"有那"版本的操作系"是永恒的主流,因此,我"在""和使用*"操作系"的"程中把握住它的最基本的方面,并在此基"上"行大"的""和"新,"而跟上它的"展步伐。eclipse"境Eclipse是一""放源代"的,基于Java可"展""平台。就其本身而言,它只是一"框架和一"服",用于通"插件"成构建"""境。幸"的是,Eclipse附"了一""准的插件集,包括Java""工具(JavaDevelepmentTools,JDK).Eclipse是一""放源代"的"件"目,"注于"高度集成的工具""提供一"全功能的,具有商"品"的工"平台。它主要由Eclipse"目,Eclipse工具"目和Eclipse技""目三""目三""目"成,具体包括四"部分"成EclipsePlatform"是一""放的可"展IDE,提供了一"通用的""平台。它提供建造"和构造并"行集成"件""工具的基"。EclipsePlatform允"工具建造者"立""与其他工具""集成的工具"而"需分辨一"工具功能在哪里"束,而另外一"工具功能在哪里"始。"件""包是Eclipse是EclipsePlatform,JDT和PDE所生"的"件合并,它"可以一次下"。"些部分在一起提供了一"具有丰富特性的"""境,允"""者有效的建造可以""集成到EclipsePlatform中的工具。EclipseSDK由ECLIPSE"目生"的工具和"自其它"放源代"的第三方"件"合而成。Eclipse"目的生"的"件以GPL"布,第三方"件各自自身的"可""。2,""技""介JFrameJava的GUI程序的基本思路是以JFrame"基"的,它是屏幕上window的"象,能"最小化和最大化,""。它的基本板"是swing,swing的三"基本构造"是"",按",文本字段。并希望用"知道如何"理它"。JFrame"就是解"""""它是一"容器,允"程序"把其他"件添加到它里面,把它"""起",并把它"呈""用"。JFrame""上"""程序"把"件放入其中并呈""用"。比起它表面的上的""性,它""上是Swing包中最复"的"件。"了最大程度地"化"件,在"立于操作系"的Swing"件与"""行"些"件系"之",JFrame起""梁作用。JFrame在操作系"中是以窗口的形式注"的,""就可以得到"多的窗口特性。"示文件在窗体上的"也"展了JFrame,"取文件的"也"展了JFrame;按"的"建:含":""框中的一种"形元素。"激活它",能"行指定功能。用"可以采用以下方法"激活按":用鼠"在其上"",或者"按""得聚焦"按下enter"。在button元素"部,您可以放置"容,比如文本或"像。使用:"建按"在窗体上,用"窗体跳"的"接。""按""""跳"。""字:setBounds表示按"的大小位置setTe*t表示按"上"示的"容Buttonb=newButton()用""建"象。initGUIGUI的全""GraphicalUserInterface,""GUI,又""形用"接口,是指采用"形方式"示的"算机操作用"界面。"形用"界面是一种人与"算机通信的界面"示格式,允"用"使用鼠"等"入""操"屏幕上的""或者菜""",以命令,"用文件,""程序或"行其他一些日常任"。与通""""入文本或字符命令"完成例行任"的字符界面相比,"形界面有"多有优"。"形界面由窗口,下拉菜",""框以及其相"的控制机制构成,在各种"式"用程序中都是"准化的,既相同的操作"是以同"的方式"完成,在"形用"界面,用"看到和操作的都是"形"象。GUI即人机交互"形化用"界面""。GUI的"泛"用是"今"算机"展的重大成就之一,它极方便了非""用"的使用。人""此不再需要死"硬背大量的命令,取而代之的是可以通"窗口,菜",按"等方式"方便地"行操作。而嵌入式GUI具有下面几"方面的基本要求:"型,占用"源少,高性能,高可靠性,便于移植,可配置等。3,本章小"本章主要"述本"程""用到所用到的""技",以及""的知""。本系"是在Windows系"Java平台下eclipse"境下完成的,所以窗体的"建,按"的"建"都是Java典型的程序""。:需求分析1,可行性分析:(1)"用性分析在我"日常生活中,"算"支收入",大""字或者是多倍小"的"算都需要"算器的"助,而在""一些科目是,也常常要"理"字。"然"在的"算器价格比"低廉,但是功能"于"""算器不能"足"人需求,多功能的价格比"",很多功能根本用不到。所以我"想用自己所"知"""""一""于自己的"""算器"完成""生活的需求。(2)""可行性本"程""的"""程中,不需要其他"外的""成本,所以""是具有良好的可行性的。2,需求描述(1)""目的a:复""固java"言的基"知","一步加深"java"言的理解和掌控。通"本"程""使我"能"全面的掌握面向"象""的有"概念和""方法,以便能"全面的理解掌握和"合"用所"的知",提高自身的"程能力。""uige"算器的界面,定""算器所需的按"并"予"其他按"名",使得使用"算器"""明了,清晰可",操作"松。b:"程"""大家提供了一"既"手又"","立""的机",""本上的理"知"和""有机"合起",""我"的分析解"""""的能力。提高魔"适""","""程的能力。"各"按""行算法,利用鼠"""事件,"鼠"""*"按""就"始"行那"按"所定"的算法,生成算法并"示。c:培"我"在"目""中"新意思及能力,通""身"",利用所"""""的面向"象程序,提高"面向"象及java"言的理解。功能模"""a:加法"""据"行加法操作,可以"小"b:"法"""据"行"法操作c:乘法"""相乘操作d:除法"""相除操作e:"平方""非"""行"方"算,可以是小"3,面向"象分析(1)含":面向"象分析一种新的系"分析方法。它采用的是面向"象的"格"行系"分析和需求定"的重要方法。面向"象分析的""在于理解""控件并"其模型化。面向"象分析采用人"""客"事物和理解""世界"程中常用的基本法":a:"""象以及其"性;b:"""象的整体及其"成部分;c:"象的形成及"的"分;d:"""空""行理解并抽象成模型;面向"象分析有五""段:"""象,"""构,""主",定""性,定"服",即分五""次建立面向"象分析的模型。面向"象分析的优"是使功能分析与"据分析"一的概念和方法,克服了"构化分析中"者之"的不一致性和""性。:系"功能":加法运算开方加法运算开方减法预算减法预算计算器计算器乘法运算乘法运算除法运算除法运算相反数相反数"3.1(3)用例":"算器输入数据输入数据存储数据存储数据计算计算用"显示结果显示结果"3.25,本章小":本章主要介"了系"的可行性分析以及各种需求分析。可行性分析在第一章也有所体",本系"具有良好的"展前景,并且技"也比"常用,成熟,""可行性良好,"据可行性也良好。Java"境"""程序"性能的需求"高。第四章系"""1,概要""(1)含":概要""是一""""根据用"交互"程和用"需求"形成交互框架的"程,其"果往往以反映交互控件布置,界面元素分"以及界面整体版式的"面框架"的形式"呈"。"是一"在用"研究和""之"架起的"梁,使用"研究和"""""合,"用"目"与需求""成具体界面""解"方案的重要"段。概要""的主要任"是把需求分析得到的系""展用例"""成"件"构和"据"构。"""件"构的具体任"是:"一"复"系"按功能"行模"划分,建立模"的"次"构及"用"系,确定模""的接口及人机界面等。"据"构""包括"据特征的描述,确定"据的"构特性,以及"据"的""。"然,概要""建立的是目"系"的""模型。模""计算器计算器类的继承创建按钮创建窗体类的继承创建按钮创建窗体""4.1概述:"准"算器的界面采用“"形界面程序(GUI)”。GUI"用"和"用程序之"的交互提供了直"方便的交流方式。用"使用鼠"""操作"像界面上的按"菜"等"位元素向"算机系""送命令,系""行的"果以"形的方式"示"用"。2,""""("序")(1)"序"如果所示结果显示界面结果显示界面按钮界面用"1,"始2,""按"3,接受到"据4,"取信息,"要"示界面5,"示6,用"查看"果"4.2(2)概述:a:用"形界面""界面;b:通""置布局,控件等"丰富界面;c:按""接收"据,"理后"示"果;-.z.:系"""1:主要功能界面"5.12:界面功能描述(1)加法"算本"算器可以""多""算"相加,例如:1+2+3"算"果"6(2)"法"算本"算器可以""多""算"相",例如:4-3-2"算"果"-1(3)乘法"算本"算器可以""多""算"相乘,例如:2*3*4"算"果"24(4)除法"算本"算器可以""多""算"相除(除"不"0)例如:15/5/3"算"果"1,"除""0","算器"法"算"示"果"0(5)求相反"本"算器可以求任意一""的相反",例如:1的相反"所求"果"-1(6)"方"算本"算器可以"非"""行"方"算,例如:9"方"算"果"33,核心代":(1)窗口和按"面板publicCalculator(){//主面板panelSuper=newJPanel();panelSuper.setLayout(null);//"置窗口位置doublewidth=Toolkit.getDefaultToolkit().getScreenSize().width;doubleheight=Toolkit.getDefaultToolkit().getScreenSize().height;this.setBounds((int)(width-WIN_W)/2,(int)(height-WIN_H)/2,WIN_W,WIN_H);//窗口配置this.setTitle("java版"算器");this.validate();this.setResizable(false);this.setVisible(true);this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);//添加"算器按"面板myPanel=newMyPanel();this.add(myPanel,BorderLayout.CENTER);}(2)"算器"示屏jTe*tField=newJTe*tField(25);jTe*tField.setHorizontalAlignment(JTe*tField.RIGHT);jTe*tField.setEditable(false);jTe*tField.setBackground(newColor(255,255,255));jTe*tField.setTe*t("0");this.add(jTe*tField);(3)配置按"大小button1.setPreferredSize(newDimension(67,40));button2.setPreferredSize(newDimension(67,40));button3.setPreferredSize(newDimension(67,40));button4.setPreferredSize(newDimension(67,40));button5.setPreferredSize(newDimension(67,40));button6.setPreferredSize(newDimension(67,40));button7.setPreferredSize(newDimension(67,40));button8.setPreferredSize(newDimension(67,40));button9.setPreferredSize(newDimension(67,40));button0.setPreferredSize(newDimension(67,40));buttonJia.setPreferredSize(newDimension(67,40));buttonJian.setPreferredSize(newDimension(67,40));buttonCheng.setPreferredSize(newDimension(67,40));buttonChu.setPreferredSize(newDimension(67,40));buttonDeng.setPreferredSize(newDimension(67,40));buttonDian.setPreferredSize(newDimension(67,40));buttonDel.setPreferredSize(newDimension(67,40));buttonC.setPreferredSize(newDimension(67,40));buttonZF.setPreferredSize(newDimension(67,40));buttonGH.setPreferredSize(newDimension(67,40));(4)"算器初始化publicvoidinit(){d1=newBigDecimal("0");d1=newBigDecimal("0");key="=";oper='=';jTe*tField.setTe*t("0");irst=true;//用于""是否"行""操作(5)"算publicBigDecimaloperate(BigDecimala1,charc,BigDecimala2){MathConte*tmc=newMathConte*t(10,RoundingMode.HALF_DOWN);switch(c){case'+':returna1.add(a2);case'-':returna1.subtract(a2);case'*':returna1.multiply(a2);case'/':if(a2.pareTo(newBigDecimal("0"))==0){init();returnnewBigDecimal("0");}returna1.divide(a2,mc);default:returna2;:""与展望在""程序"程中,老"和同""了我很多"助和支持,老""真""的工作"度和""的治""格"我深受""。和同""之"的"""我受益匪"。"然,我"需要不""",因"在目前看",我所""的"算器"存在很多不足,今后"需不"努力完善自己,用知"武"自己,只有使用社""展的需求适""代"展的需求,才能在""日益激烈的社"中立足。所以,在今后的""中,我"在今后的""中"格要求自己,希望在老"的"助下在,自己的努力下,在生活中找到"于自己的位置,取得更大的"步。:"考文"[1]"世霞,《java程序""》,机械工".2010.1[2]"武,""《java"程及"用》,:高等教育.2004[3]丁振凡《java"言使用教程》,""大".2006.9:致"在此我要感"我的老"在"程""上"予我"的指"和"予的"助,"是我"能"利完成"次"程""的主要原因,更重要的是老"在"堂上精彩的"解,"我"在""程"""更加完善。在此期",我不""到了"多新知",而且也""了"野,提高了自己的""能力。其次,我要感""助"我的同",他""我解"了很多不太明白的地方,"有一些素材的提供。最后,再次感"我的老"和同","心"一句:""!附源代":importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava*.swing.*;importjava.awt.*;importjava.math.BigDecimal;importjava.math.MathConte*t;importjava.math.RoundingMode;importjava.awt.Color;/***java版"算器*/publicclassCalculatore*tendsJFrame{finalintWIN_W=295,WIN_H=292;JPanelmyPanel,panelSuper;publicCalculator(){//主面板panelSuper=newJPanel();panelSuper.setLayout(null);//"置窗口位置doublewidth=Toolkit.getDefaultToolkit().getScreenSize().width;doubleheight=Toolkit.getDefaultToolkit().getScreenSize().height;this.setBounds((int)(width-WIN_W)/2,(int)(height-WIN_H)/2,WIN_W,WIN_H);//窗口配置this.setTitle("java版"算器");this.validate();this.setResizable(false);this.setVisible(true);this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);//添加"算器按"面板myPanel=newMyPanel();this.add(myPanel,BorderLayout.CENTER);}publicstaticvoidmain(String[]args){newCalculator();}/***"算器按"面板"*/classMyPanele*tendsJPanelimplementsActionListener{uttonbutton1,button2,button3,button4,button5,button6,button7,button8,button9,button0,buttonJia,buttonJian,buttonCheng,buttonChu,buttonDeng,buttonDian,buttonC,buttonDel,buttonZF,buttonGH;JTe*tFieldjTe*tField;//"算器"示屏charoper;//操作符Stringkey,allKey="1234567890.±del",jjccKey="+-*/";BigDecimald1,d2;booleanfirst;publicMyPanel(){//"置布局this.setLayout(newFlowLayout(FlowLayout.LEFT,4,5));//"算器"示屏jTe*tField=newJTe*tField(25);jTe*tField.setHorizontalAlignment(JTe*tField.RIGHT);jTe*tField.setEditable(false);jTe*tField.setBackground(newColor(255,255,255));jTe*tField.setTe*t("0");this.add(jTe*tField);//"算器按"button1=newutton("1");button2=newutton("2");button3=newutton("3");button4=newutton("4");button5=newutton("5");button6=newutton("6");button7=newutton("7");button8=newutton("8");button9=newutton("9");button0=newutton("0");buttonJia=newutton("+");buttonJian=newutton("-");buttonCheng=newutton("*");buttonChu=newutton("/");buttonDeng=newutton("=");buttonDian=newutton(".");buttonDel=newutton("del");buttonC=newutton("c");buttonZF=newutton("±");buttonGH=newutton("√");button1.setPreferredSize(newDimension(67,40));button2.setPreferredSize(newDimension(67,40));button3.setPreferredSize(newDimension(67,40));button4.setPreferredSize(newDimension(67,40));button5.setPreferredSize(newDimension(67,40));button6.setPreferredSize(newDimension(67,40));button7.setPreferredSize(newDimension(67,40));button8.setPreferredSize(newDimension(67,40));button9.setPreferredSize(newDimension(67,40));button0.setPreferredSize(newDimension(67,40));buttonJia.setPreferredSize(newDimension(67,40));buttonJian.setPreferredSize(newDimension(67,40));buttonCheng.setPreferredSize(newDimension(67,40));buttonChu.setPreferredSize(newDimension(67,40));buttonDeng.setPreferredSize(newDimension(67,40));buttonDian.setPreferredSize(newDimension(67,40));buttonDel.setPreferredSize(newDimension(67,40));buttonC.setPreferredSize(newDimension(67,40));buttonZF.setPreferredSize(newDimension(67,40));buttonGH.setPreferredSize(newDimension(67,40));this.add(buttonDel);this.add(buttonC);this.add(buttonZF);this.add(buttonGH);this.add(button1);this.add(button2);this.add(button3);this.add(buttonJia);this.add(button4);this.add(button5);this.add(button6);this.add(buttonJian);this.add(button7);this.add(button8);this.add(button9);this.add(buttonCheng);this.add(button0);this.add(buttonDian);this.add(buttonDeng);this.add(buttonChu);buttonDel.addActionListener(this);buttonC.addActionListener(this);buttonZF.addActionListener(this);buttonGH.addActionListener(this);button1.addActionListener(this);button2.addActionListener(this);button3.addActionListener(this);button4.addActionListener(this);button5.addActionListener(this);button6.addActionListener(this);button7.addActionListener(this);button8.addActionListener(this);button9.addActionListener(this);button0.addActionListener(this);buttonJia.addActionListener(this);buttonJian.addActionListener(this);buttonCheng.addActionListener(this);buttonChu.addActionListener(this);buttonDeng.addActionListener(this);buttonDian.addActionListener(this);//"算器初始化init();}/***"算器初始化*/publicvoidinit(){d1=newBigDecimal("0");d1=newBigDecimal("0");key="=";oper='=';jTe*tField.setTe*t("0");first=true;//用于""是否"行""操作(例如按""序"“9*9====”,第一次等于first由true""false,如果!first,按等"相"于用上一次的"果与第二"操作"相乘)}/***按""听*/publicvoidactionPerformed(ActionEvente){uttonb=(utton)e.getSource();if(b==buttonDian){//按下.jTe*tField.setTe*t(jTe*tField.getTe*t()+".");if(first){d2=d1=getNum();}else{d2=getNum();}}elseif(b==buttonZF){//按下±BigDecimald=getNum();d=newBigDecimal("0").subtract(d);setFormatNum(d);if(first){d2=d1=getNum();}else{d2=getNum();}}elseif(b==buttonDel){//按下delif(jTe*tField.getTe*t().length()==1||jTe*tField.getTe*t().length()==2&&jTe*tField.getTe*t().startsWith("-")){jTe*tField.setTe*t("0");}else{Strings=jTe*tField.getTe*t();s=s.substring(0,s.length()-1);if(s.endsWith("E+")||s.endsWith("E-"))s=s.substring(0,s.length()-2);jTe*tField.setTe*t(s);if(first){d2=d1=getNum();}else{d2=getNum();}}}elseif(b==buttonC){//按下cinit();}elseif(b==buttonJia){//按下+BigDecimals;if(!first&&allKey.inde*Of(key)>=0){if(oper=='-'||oper=='/'){s=operate(d1,oper,d2);}else{s=operate(d2,oper,d1);}setFormatNum(s);}//如果不是第一次,且上一次操作是""字"行操作else{first=false;}d2=d1=getNum();//System.out.print("111我"行啦\n");oper='+';}elseif(b==buttonJian){//按下-BigDecimals;if(!first&&allKey.inde*Of(key)>=0){s=operate(d1,oper,d2);setFormatNum(s);}//如果不是第一次,且上一次操作是""字"行操作else{first=false;}d2=d1=getNum();oper='-';}elseif(b==buttonCheng){//按下*BigDecimals;if(!first&&allKey.inde*Of(key)>=0){if(oper=='-'||oper=='/'){s=operate(d1,oper,d2);}else{s=operate(d2,oper,d1);}setFormatNum(s);}//如果不是第一次,且上一次操作是""字"行操作else{first=false;}d2=d1=getNum();oper='*';}elseif(b==buttonChu){//按下/BigDecimals;if(!first&&allKey.inde*Of(key)>=0){s=operate(d1,oper,d2);setFormatNum(s);}//如果不是第一次,且上一次操作是""字"行操作else{first=false;}d2=d1=getNum();oper='/';}elseif(b==buttonGH){//按下平方根if(jTe*tField.getTe*t().startsWith("-")){init();return;}BigDecimald=getNum();MathConte*tmc=newMathConte*t(10,RoundingMode.HALF_DOWN);d=newBigDecimal(Math.sqrt(d.doubleValue()),mc);setFormatNum(d);if(first){d2=d1=getNum();}else{d2=getNum();}}elseif(b==buttonDeng){//按下=BigDecimals=null;d2=getNum();

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论