java简单计算器课程设计_简单计算器JAVA课程设计

简单计算器JAVA课程设计

一、课程设计目的本课程设计的目标就是要达到理论与实际应用相结合,提高学生组织数据及编写大型程序的能力,并培养基本的、良好的程序设计技能以及合作能力。设计中要求综合运用所学知识,上机解决一些与实际应用结合紧密的、规模较大的问题,通过分析、设计、编码、调试等各环节的训练,使学生深刻理解、牢固掌握数据结构和算法设计技术,掌握分析、解决实际问题的能力。通过这次设计,要求在数据结构的逻辑特性和物理表示、数据结构的选择和应用、算法的设计及其实现等方面,加深对课程基本内容的理解。同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。二、课程设计内容简单计算器题目描述使用JAVA的GUI图形用户界面编程设计并编写一个计算器程序,用户可以通过鼠标或者键盘操作输入参加运算的的数值和运算符,要求能进行加、减、乘、除等混合运算。基本要求(1)实现加、减、乘、除的双目单类别的基础运算;(2)实现加、减、乘、除的多目多类别的混合运算。(3)实现三角函数(SIN,COS,TAN)运算。(4)实现幂运算(XN),方根运算(NX)。实现提示GUI编程COMPONENT的事件响应。三、课程设计过程1需求分析使用JAVA的GUI图形用户界面编程设计并编写一个计算器程序,用户可以通过鼠标或者键盘操作输入参加运算的的数值和运算符,要求能进行加、减、乘、除等混合运算。2概要设计1输入的形式和输入值的范围;从文本域中输入,输入值的范围2147483896471E122)输出的形式;从文本域中输出,字符串的形式输出3程序所能达到的功能;1实现加、减、乘、除的双目单类别的基础运算;2实现加、减、乘、除的多目多类别的混合运算。3实现三角函数(SIN,COS,TAN)运算。4实现幂运算(XN),方根运算(NX)。4测试数据包括正确的输入及其输出结果和含有错误的输入及其输出结果。3详细设计实现概要设计中定义的所有的数据类型,对每个操作给出伪码算法。对主程序和其他模块也都需要写出伪码算法。CLASSCOMPUTERPADEXTENDSFRAMEIMPLEMENTSACTIONLISTENERNUMBERBUTTONNUMBERBUTTONOPERATIONBUTTONOPRATIONBUTTONBUTTON小数点按钮,正负号按钮,退格按钮,求倒数按钮,等号按钮,清零按钮,正弦按钮,余弦按钮,正切按钮PANELPANELJTEXTFIELDRESULTSHOWSTRING运算符号““,““,““,“/“,““,“N“LINKEDLIST链表BOOLEAN是否按下等号FALSEPUBLICCOMPUTERPAD(伪码算法)PUBLICVOIDACTIONPEREDACTIONEVENTE(伪码算法)PUBLICSTATICVOIDMAINSTRINGARGS(伪码算法)4调试分析求三角函数COS90的时候有问题,后来设置了条件限制就可以了5用户使用说明可根据需要进行简单的运算1)/表示除号,进行两个数的相除运算。2N表示开根号,将一个数进行开根号运算。3)表示乘号,进行两个数的相乘运算。4)1/X求一个数的倒数。5)表示减号,进行两个数的相减运算。6)表示加号,进行两个数的相加运算。7退格清除一个字符。8)清零全部清零。9)实现幂运算6附录程序代码IMPORTJAVAAWTIMPORTJAVAAWTEVENTIMPORTJAVAXSWINGIMPORTJAVAXSWINGBORDERIMPORTJAVALANGMATHIMPORTJAVAUTILLINKEDLISTIMPORTJAVATEXTNUMBERATIMPORTORGECLIPSEWBSWINGFOCUSTRAVERSALONARRAYCLASSCOMPUTERPADEXTENDSFRAMEIMPLEMENTSACTIONLISTENERNUMBERBUTTONNUMBERBUTTONOPERATIONBUTTONOPRATIONBUTTONBUTTON小数点按钮,正负号按钮,退格按钮,求倒数按钮,等号按钮,清零按钮,正弦按钮,余弦按钮,正切按钮PANELPANELJTEXTFIELDRESULTSHOWSTRING运算符号““,““,““,“/“,““,“N“LINKEDLIST链表BOOLEAN是否按下等号FALSEPUBLICCOMPUTERPADSUPER“计算器“链表NEWLINKEDLISTNUMBERBUTTONNEWNUMBERBUTTON10FORINTI0I1NUMNUMSUBSTRING0,NUMLENGTH1链表SET0,NUMRESULTSHOWSETTEXTNUMELSE链表REMOVELASTRESULTSHOWSETTEXT“0“ELSEIF链表SIZE3STRINGNUMSTRING链表GETLASTIFNUMLENGTH1NUMNUMSUBSTRING0,NUMLENGTH1链表SET2,NUMRESULTSHOWSETTEXTNUMELSE链表REMOVELASTRESULTSHOWSETTEXT“0“ELSEIFEGETSOURCE正负号按钮IF链表SIZE1STRINGNUMBER1STRING链表GETFIRSTTRYDOUBLEDDOUBLEPARSEDOUBLENUMBER1D1DSTRINGSTRSTRINGVALUEOFD链表SET0,STRRESULTSHOWSETTEXTSTRCATCHEXCEPTIONEEELSEIF链表SIZE3STRINGNUMBER2STRING链表GETLASTTRYDOUBLEDDOUBLEPARSEDOUBLENUMBER2D1DSTRINGSTRSTRINGVALUEOFD链表SET2,STRRESULTSHOWSETTEXTSTRCATCHEXCEPTIONEEELSEIFEGETSOURCE求倒数按钮IF链表SIZE1||链表SIZE2STRINGNUMBER1STRING链表GETFIRSTTRYDOUBLEDDOUBLEPARSEDOUBLENUMBER1D10/DSTRINGSTRSTRINGVALUEOFD链表SET0,STRRESULTSHOWSETTEXTSTRCATCHEXCEPTIONEEELSEIF链表SIZE3STRINGNUMBER2STRING链表GETLASTTRYDOUBLEDDOUBLEPARSEDOUBLENUMBER2D10/DSTRINGSTRSTRINGVALUEOFD链表SET0,STRRESULTSHOWSETTEXTSTRCATCHEXCEPTIONEEELSEIFEGETSOURCE正弦按钮IF链表SIZE1||链表SIZE2STRINGNUMBER1STRING链表GETFIRSTTRYIFDOUBLEPARSEDOUBLENUMBER1/9020RESULTSHOWSETTEXT“0“ELSEDOUBLEDDOUBLEPARSEDOUBLENUMBER1MATHPI/180DMATHSINDSTRINGSTRSTRINGVALUEOFD链表SET0,STRRESULTSHOWSETTEXTSTRCATCHEXCEPTIONEEELSEIF链表SIZE3STRINGNUMBER2STRING链表GETLASTTRYDOUBLEDDOUBLEPARSEDOUBLENUMBER2MATHPI/180DMATHSINDSTRINGSTRSTRINGVALUEOFD链表SET0,STRRESULTSHOWSETTEXTSTRCATCHEXCEPTIONEEELSEIFEGETSOURCE余弦按钮IF链表SIZE1||链表SIZE2STRINGNUMBER1STRING链表GETFIRSTTRYIFDOUBLEPARSEDOUBLENUMBER1/9021RESULTSHOWSETTEXT“0“ELSEDOUBLEDDOUBLEPARSEDOUBLENUMBER1MATHPI/180DMATHCOSDSTRINGSTRSTRINGVALUEOFD链表SET0,STRRESULTSHOWSETTEXTSTRCATCHEXCEPTIONEEELSEIF链表SIZE3STRINGNUMBER2STRING链表GETLASTTRYDOUBLEDDOUBLEPARSEDOUBLENUMBER2MATHPI/180DMATHCOSDSTRINGSTRSTRINGVALUEOFD链表SET0,STRRESULTSHOWSETTEXTSTRCATCHEXCEPTIONEEELSEIFEGETSOURCE正切按钮IF链表SIZE1||链表SIZE2STRINGNUMBER1STRING链表GETFIRSTTRYIFDOUBLEPARSEDOUBLENUMBER1/9021RESULTSHOWSETTEXT“无穷值“ELSEIFDOUBLEPARSEDOUBLENUMBER1/9020RESULTSHOWSETTEXT“0“ELSEDOUBLEDDOUBLEPARSEDOUBLENUMBER1MATHPI/180DMATHTANDSTRINGSTRSTRINGVALUEOFD链表SET0,STRRESULTSHOWSETTEXTSTRCATCHEXCEPTIONEEELSEIF链表SIZE3STRINGNUMBER2STRING链表GETLASTTRYDOUBLEDDOUBLEPARSEDOUBLENUMBER2MATHPI/180DMATHTANDSTRINGSTRSTRINGVALUEOFD链表SET0,STRRESULTSHOWSETTEXTSTRCATCHEXCEPTIONEEELSEIFEGETSOURCE清零按钮是否按下等号FALSERESULTSHOWSETTEXT“0“链表CLEARPUBLICSTATICVOIDMAINSTRINGARGSNEWCOMPUTERPAD7测试结果(1)实现加、减、乘、除的双目单类别的基础运算实现加法运算,比如输入89,结果如截图。170实现减法运算,比如输入129,结果如截图。30实现乘法运算,比如输入69,结果如截图540实现除法运算,比如输入20/4,结果如截图。50(2)实现加、减、乘、除的多目多类别的混合运算。比如输入342,结果如截图。140比如输入20/52,结果如截图。20(3)实现三角函数(SIN,COS,TAN)运算。比如SIN30,COS60,TAN45,结果如图(4)实现幂运算(XN),方根运算(NX)。比如36,29,结果如图。四、课程设计体会在此次的课程设计中,我学掉了教科书上没有的东西。这次课程设计,我按照课程设计的要求,分块实现程序的功能,在实践中遇到很多问题,通过百度,和同学讨论,跟老师交流,最后都克服了。顺利的完成了课程设计。从中我充分理解了JAVA的重要性,更深入的了解程序的编译和调试。通过这个学期学习JAVA的理论知识和课程设计的加深,对更好更好的掌握JAVA有很大的帮助。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值