java编写简单计算器(附源代码)_第1页
java编写简单计算器(附源代码)_第2页
java编写简单计算器(附源代码)_第3页
java编写简单计算器(附源代码)_第4页
java编写简单计算器(附源代码)_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

西安交通大学JAVA技术与应用大作业简单计算器的编写一、选题理由这个学期我选择JAVA技术与应用这门课其实我的选修课已经修完了,完全是对JAVA语言的兴趣和老师的个人魅力使然。这门课让我学到了许多知识,了解到了JAVA语言的基本语法、结构和特点。由于个人觉得水平有限,并且没有队友,所以选择了较为容易的简易计算器作为我的大作业。二、系统目标实现对代数表达式的输入、计算、输出。三、系统分析与设计(1)计算类CAL设计编写PUBLICCLASSCALPUBLICSTATICBOOLEANCHECKSTRINGSTR/检验表达式是否正确PUBLICSTATICFLOATTRANSFERSTRINGSTR/转化为栈的形式并计算PUBLICSTATICBOOLEANCOMPARECHARA,CHARB/比较优先级,判断B的优先级是否大于等于A的优先级PUBLICSTATICFLOATTRANSFERSTRINGSTR方法为该程序的核心代码,涉及数据结构的知识。(2)人机界面设计通过SWING可以容易的设计出计算器的人机界面。(3)部分细节普通BUTTON内部代码的编写由于要在文本框中输入一串字符串,而不是覆盖之前的输入。因此采用方法先将文本框中原有的字符串取出,再加上要输入的字符,最后一同输出到文本框。具体代码为STRINGSTR1JBUTTON1GETTEXTSTRINGSTR2JTEXTFIELD1GETTEXTJTEXTFIELD1SETTEXTSTR2STR1”“BUTTON的代码编写”“作为一个特殊的BUTTON,其作用为先将文本框中的字符串取出,取出后首先判断字符串即表达式是否正确,运用CALCHECK方法,若返回值为TRUE,将字符串表达式送入CALTRANSFER,返回代数式的值,并在文本框JTEXTFIELD输出。过程涉及各种数据类型的转换。具体代码为STRINGSTR1JTEXTFIELD1GETTEXTBOOLEANMCALCHECKSTR1IFMTRUEFLOATRESULTCALTRANSFERSTR1STRINGLASTSTRINGVALUEOFRESULTJTEXTFIELD1SETTEXTLASTELSEJTEXTFIELD1SETTEXT“DEFAULT“(4)实验数据与测试用例四、使用说明输入数学表达式(可以用鼠标点按钮,也可直接在文本框键盘输入),输入后点击”“按钮,得到计算结果。五、人员安排自己动手,丰衣足食。六、程序漏洞与不足。(1)程序健壮性不足。CALCHECK方法代码存在问题,对于部分错误表达式没有报错。(2)按等号按键计算输出后,再按数字按钮不会清空文本框,会在计算结果的基础上继续输入。先自动清空文本框会更好一些。七、开发总结编写这个简易计算器是我编写的第一个成型的小软件,有很多不足。但是在编写的过程中,我对JAVA语言有了更加深刻的理解,知道了设计制作软件的一般过程。老师给我的最深的印象就是认真负责,现场编程现场讲解,让我最真实的感受到了一个开发者的思维过程和遇到问题时的处理方法,这在我之前两年课程从来都没有遇到过。总之,感谢老师精彩的课程。八、附录完整代码及JAR文件IMPORTJAVAAWTBORDERLAYOUTIMPORTJAVAAWTEVENTACTIONEVENTIMPORTJAVAAWTEVENTACTIONLISTENERIMPORTJAVAXSWINGJBUTTONIMPORTJAVAXSWINGJTEXTFIELDIMPORTJAVAXSWINGWINDOWCONSTANTSIMPORTJAVAXSWINGSWINGUTILITIES/THISCODEWASEDITEDORGENERATEDUSINGCLOUDGARDENSJIGLOOSWT/SWINGGUIBUILDER,WHICHISFREEFORNONCOMMERCIALUSEIFJIGLOOISBEINGUSEDCOMMERCIALLYIE,BYACORPORATION,COMPANYORBUSINESSFORANYPURPOSEWHATEVERTHENYOUSHOULDPURCHASEALICENSEFOREACHDEVELOPERUSINGJIGLOOPLEASEVISITWWWCLOUDGARDENCOMFORDETAILSUSEOFJIGLOOIMPLIESACCEPTANCEOFTHESELICENSINGTERMSACOMMERCIALLICENSEHASNOTBEENPURCHASEDFORTHISMACHINE,SOJIGLOOORTHISCODECANNOTBEUSEDLEGALLYFORANYCORPORATEORCOMMERCIALPURPOSE/PUBLICCLASSNEWJFRAMEEXTENDSJAVAXSWINGJFRAMEPRIVATEJTEXTFIELDJTEXTFIELD1PRIVATEJBUTTONJBUTTON1PRIVATEJBUTTONJBUTTON15PRIVATEJBUTTONJBUTTON16PRIVATEJBUTTONJBUTTON21PRIVATEJBUTTONJBUTTON20PRIVATEJBUTTONJBUTTON19PRIVATEJBUTTONJBUTTON18PRIVATEJBUTTONJBUTTON17PRIVATEJBUTTONJBUTTON14PRIVATEJBUTTONJBUTTON13PRIVATEJBUTTONJBUTTON12PRIVATEJBUTTONJBUTTON11PRIVATEJBUTTONJBUTTON10PRIVATEJBUTTONJBUTTON9PRIVATEJBUTTONJBUTTON8PRIVATEJBUTTONJBUTTON7PRIVATEJBUTTONJBUTTON5PRIVATEJBUTTONJBUTTON4PRIVATEJBUTTONJBUTTON3PRIVATEJBUTTONJBUTTON2/AUTOGENERATEDMAINMETHODTODISPLAYTHISJFRAME/PUBLICSTATICVOIDMAINSTRINGARGSSWINGUTILITIESINVOKELATERNEWRUNNABLEPUBLICVOIDRUNNEWJFRAMEINSTNEWNEWJFRAMEINSTSETLOCATIONRELATIVETONULLINSTSETVISIBLETRUEPUBLICNEWJFRAMESUPERINITGUIPRIVATEVOIDINITGUITRYSETDEFAULTCLOSEOPERATIONWINDOWCONSTANTSDISPOSE_ON_CLOSEGETCONTENTPANESETLAYOUTNULLTHISSETTITLE“MYCALCULATION“JTEXTFIELD1NEWJTEXTFIELDGETCONTENTPANEADDJTEXTFIELD1,“NORTH“JTEXTFIELD1SETPREFERREDSIZENEWJAVAAWTDIMENSION460,72JTEXTFIELD1SETBOUNDS0,0,460,72JTEXTFIELD1SETFONTNEWJAVAAWTFONT“MICROSOFTYAHEIUI“,1,16JBUTTON1NEWJBUTTONGETCONTENTPANEADDJBUTTON1JBUTTON1SETTEXT“1“JBUTTON1SETBOUNDS25,87,82,48JBUTTON1SETFONTNEWJAVAAWTFONT“MICROSOFTYAHEIUI“,0,18JBUTTON1ADDACTIONLISTENERNEWACTIONLISTENERPUBLICVOIDACTIONPERFORMEDACTIONEVENTEVTSYSTEMOUTPRINTLN“JBUTTON1ACTIONPERFORMED,EVENT“EVT/TODOADDYOURCODEFORJBUTTON1ACTIONPERFORMEDSTRINGSTR1JBUTTON1GETTEXTSTRINGSTR2JTEXTFIELD1GETTEXTJTEXTFIELD1SETTEXTSTR2STR1JBUTTON2NEWJBUTTONGETCONTENTPANEADDJBUTTON2JBUTTON2SETTEXT“2“JBUTTON2SETBOUNDS120,87,82,48JBUTTON2SETFONTNEWJAVAAWTFONT“MICROSOFTYAHEIUI“,0,18JBUTTON2ADDACTIONLISTENERNEWACTIONLISTENERPUBLICVOIDACTIONPERFORMEDACTIONEVENTEVTSYSTEMOUTPRINTLN“JBUTTON2ACTIONPERFORMED,EVENT“EVT/TODOADDYOURCODEFORJBUTTON2ACTIONPERFORMEDSTRINGSTR1JBUTTON2GETTEXTSTRINGSTR2JTEXTFIELD1GETTEXTJTEXTFIELD1SETTEXTSTR2STR1JBUTTON3NEWJBUTTONGETCONTENTPANEADDJBUTTON3JBUTTON3SETTEXT“3“JBUTTON3SETBOUNDS214,87,82,48JBUTTON3SETFONTNEWJAVAAWTFONT“MICROSOFTYAHEIUI“,0,18JBUTTON3ADDACTIONLISTENERNEWACTIONLISTENERPUBLICVOIDACTIONPERFORMEDACTIONEVENTEVTSYSTEMOUTPRINTLN“JBUTTON3ACTIONPERFORMED,EVENT“EVT/TODOADDYOURCODEFORJBUTTON3ACTIONPERFORMEDSTRINGSTR1JBUTTON3GETTEXTSTRINGSTR2JTEXTFIELD1GETTEXTJTEXTFIELD1SETTEXTSTR2STR1JBUTTON4NEWJBUTTONGETCONTENTPANEADDJBUTTON4JBUTTON4SETTEXT“4“JBUTTON4SETBOUNDS25,142,82,48JBUTTON4SETFONTNEWJAVAAWTFONT“MICROSOFTYAHEIUI“,0,18JBUTTON4ADDACTIONLISTENERNEWACTIONLISTENERPUBLICVOIDACTIONPERFORMEDACTIONEVENTEVTSYSTEMOUTPRINTLN“JBUTTON4ACTIONPERFORMED,EVENT“EVT/TODOADDYOURCODEFORJBUTTON4ACTIONPERFORMEDSTRINGSTR1JBUTTON4GETTEXTSTRINGSTR2JTEXTFIELD1GETTEXTJTEXTFIELD1SETTEXTSTR2STR1JBUTTON5NEWJBUTTONGETCONTENTPANEADDJBUTTON5JBUTTON5SETTEXT“5“JBUTTON5SETBOUNDS122,142,82,48JBUTTON5SETFONTNEWJAVAAWTFONT“MICROSOFTYAHEIUI“,0,18JBUTTON5ADDACTIONLISTENERNEWACTIONLISTENERPUBLICVOIDACTIONPERFORMEDACTIONEVENTEVTSYSTEMOUTPRINTLN“JBUTTON5ACTIONPERFORMED,EVENT“EVT/TODOADDYOURCODEFORJBUTTON5ACTIONPERFORMEDSTRINGSTR1JBUTTON5GETTEXTSTRINGSTR2JTEXTFIELD1GETTEXTJTEXTFIELD1SETTEXTSTR2STR1JBUTTON7NEWJBUTTONGETCONTENTPANEADDJBUTTON7JBUTTON7SETTEXT“6“JBUTTON7SETBOUNDS215,142,82,48JBUTTON7SETFONTNEWJAVAAWTFONT“MICROSOFTYAHEIUI“,0,18JBUTTON7ADDACTIONLISTENERNEWACTIONLISTENERPUBLICVOIDACTIONPERFORMEDACTIONEVENTEVTSYSTEMOUTPRINTLN“JBUTTON7ACTIONPERFORMED,EVENT“EVT/TODOADDYOURCODEFORJBUTTON7ACTIONPERFORMEDSTRINGSTR1JBUTTON7GETTEXTSTRINGSTR2JTEXTFIELD1GETTEXTJTEXTFIELD1SETTEXTSTR2STR1JBUTTON8NEWJBUTTONGETCONTENTPANEADDJBUTTON8JBUTTON8SETTEXT“7“JBUTTON8SETBOUNDS26,201,82,50JBUTTON8SETFONTNEWJAVAAWTFONT“MICROSOFTYAHEIUI“,0,18JBUTTON8ADDACTIONLISTENERNEWACTIONLISTENERPUBLICVOIDACTIONPERFORMEDACTIONEVENTEVTSYSTEMOUTPRINTLN“JBUTTON8ACTIONPERFORMED,EVENT“EVT/TODOADDYOURCODEFORJBUTTON8ACTIONPERFORMEDSTRINGSTR1JBUTTON8GETTEXTSTRINGSTR2JTEXTFIELD1GETTEXTJTEXTFIELD1SETTEXTSTR2STR1JBUTTON9NEWJBUTTONGETCONTENTPANEADDJBUTTON9JBUTTON9SETTEXT“8“JBUTTON9SETBOUNDS122,201,82,50JBUTTON9SETFONTNEWJAVAAWTFONT“MICROSOFTYAHEIUI“,0,18JBUTTON9ADDACTIONLISTENERNEWACTIONLISTENERPUBLICVOIDACTIONPERFORMEDACTIONEVENTEVTSYSTEMOUTPRINTLN“JBUTTON9ACTIONPERFORMED,EVENT“EVT/TODOADDYOURCODEFORJBUTTON9ACTIONPERFORMEDSTRINGSTR1JBUTTON9GETTEXTSTRINGSTR2JTEXTFIELD1GETTEXTJTEXTFIELD1SETTEXTSTR2STR1JBUTTON10NEWJBUTTONGETCONTENTPANEADDJBUTTON10JBUTTON10SETTEXT“9“JBUTTON10SETBOUNDS215,201,82,50JBUTTON10SETFONTNEWJAVAAWTFONT“MICROSOFTYAHEIUI“,0,18JBUTTON10ADDACTIONLISTENERNEWACTIONLISTENERPUBLICVOIDACTIONPERFORMEDACTIONEVENTEVTSYSTEMOUTPRINTLN“JBUTTON10ACTIONPERFORMED,EVENT“EVT/TODOADDYOURCODEFORJBUTTON10ACTIONPERFORMEDSTRINGSTR1JBUTTON10GETTEXTSTRINGSTR2JTEXTFIELD1GETTEXTJTEXTFIELD1SETTEXTSTR2STR1JBUTTON11NEWJBUTTONGETCONTENTPANEADDJBUTTON11JBUTTON11SETTEXT“0“JBUTTON11SETBOUNDS26,269,82,48JBUTTON11SETFONTNEWJAVAAWTFONT“MICROSOFTYAHEIUI“,0,18JBUTTON11ADDACTIONLISTENERNEWACTIONLISTENERPUBLICVOIDACTIONPERFORMEDACTIONEVENTEVTSYSTEMOUTPRINTLN“JBUTTON11ACTIONPERFORMED,EVENT“EVT/TODOADDYOURCODEFORJBUTTON11ACTIONPERFORMEDSTRINGSTR1JBUTTON11GETTEXTSTRINGSTR2JTEXTFIELD1GETTEXTJTEXTFIELD1SETTEXTSTR2STR1JBUTTON12NEWJBUTTONGETCONTENTPANEADDJBUTTON12JBUTTON12SETTEXT“JBUTTON12SETBOUNDS309,147,64,45JBUTTON12SETFONTNEWJAVAAWTFONT“MICROSOFTYAHEIUI“,0,28JBUTTON12ADDACTIONLISTENERNEWACTIONLISTENERPUBLICVOIDACTIONPERFORMEDACTIONEVENTEVTSYSTEMOUTPRINTLN“JBUTTON12ACTIONPERFORMED,EVENT“EVT/TODOADDYOURCODEFORJBUTTON12ACTIONPERFORMEDSTRINGSTR1JBUTTON12GETTEXTSTRINGSTR2JTEXTFIELD1GETTEXTJTEXTFIELD1SETTEXTSTR2STR1JBUTTON13NEWJBUTTONGETCONTENTPANEADDJBUTTON13JBUTTON13SETTEXT“JBUTTON13SETBOUNDS384,148,64,44JBUTTON13SETFONTNEWJAVAAWTFONT“MICROSOFTYAHEIUI“,0,28JBUTTON13ADDACTIONLISTENERNEWACTIONLISTENERPUBLICVOIDACTIONPERFORMEDACTIONEVENTEVTSYSTEMOUTPRINTLN“JBUTTON13ACTIONPERFORMED,EVENT“EVT/TODOADDYOURCODEFORJBUTTON13ACTIONPERFORMEDSTRINGSTR1JBUTTON13GETTEXTSTRINGSTR2JTEXTFIELD1GETTEXTJTEXTFIELD1SETTEXTSTR2STR1JBUTTON14NEWJBUTTONGETCONTENTPANEADDJBUTTON14JBUTTON14SETTEXT“JBUTTON14SETBOUNDS309,208,64,44JBUTTON14SETFONTNEWJAVAAWTFONT“MICROSOFTYAHEIUI“,0,28JBUTTON14ADDACTIONLISTENERNEWACTIONLISTENERPUBLICVOIDACTIONPERFORMEDACTIONEVENTEVTSYSTEMOUTPRINTLN“JBUTTON14ACTIONPERFORMED,EVENT“EVT/TODOADDYOURCODEFORJBUTTON14ACTIONPERFORMEDSTRINGSTR1JBUTTON14GETTEXTSTRINGSTR2JTEXTFIELD1GETTEXTJTEXTFIELD1SETTEXTSTR2STR1JBUTTON15NEWJBUTTONGETCONTENTPANEADDJBUTTON15JBUTTON15SETTEXT“/“JBUTTON15SETBOUNDS384,208,64,44JBUTTON15SETFONTNEWJAVAAWTFONT“MICROSOFTYAHEIUI“,0,28JBUTTON15ADDACTIONLISTENERNEWACTIONLISTENERPUBLICVOIDACTIONPERFORMEDACTIONEVENTEVTSYSTEMOUTPRINTLN“JBUTTON15ACTIONPERFORMED,EVENT“EVT/TODOADDYOURCODEFORJBUTTON15ACTIONPERFORMEDSTRINGSTR1JBUTTON15GETTEXTSTRINGSTR2JTEXTFIELD1GETTEXTJTEXTFIELD1SETTEXTSTR2STR1JBUTTON16NEWJBUTTONGETCONTENTPANEADDJBUTTON16JBUTTON16SETTEXT“JBUTTON16SETBOUNDS386,271,64,44JBUTTON16SETFONTNEWJAVAAWTFONT“MICROSOFTYAHEIUI“,0,28JBUTTON16ADDACTIONLISTENERNEWACTIONLISTENERPUBLICVOIDACTIONPERFORMEDACTIONEVENTEVTSYSTEMOUTPRINTLN“JBUTTON16ACTIONPERFORMED,EVENT“EVT/TODOADDYOURCODEFORJBUTTON16ACTIONPERFORMEDSTRINGSTR1JTEXTFIELD1GETTEXTBOOLEANMCALCHECKSTR1IFMTRUEFLOATRESULTCALTRANSFERSTR1STRINGLASTSTRINGVALUEOFRESULTJTEXTFIELD1SETTEXTLASTELSEJTEXTFIELD1SETTEXT“DEFAULT“JBUTTON17NEWJBUTTONGETCONTENTPANEADDJBUTTON17JBUTTON17SETTEXT“JBUTTON17SETBOUNDS311,271,64,44JBUTTON17SETFONTNEWJAVAAWTFONT“MICROSOFTYAHEIUI“,0,28JBUTTON17ADDACTIONLISTENERNEWACTIONLISTENERPUBLICVOIDACTIONPERFORMEDACTIONEVENTEVTSYSTEMOUTPRINTLN“JBUTTON17ACTIONPERFORMED,EVENT“EVT/TODOADDYOURCODEFORJBUTTON17ACTIONPERFORMEDSTRINGSTR1JBUTTON17GETTEXTSTRINGSTR2JTEXTFIELD1GETTEXTJTEXTFIELD1SETTEXTSTR2STR1JBUTTON18NEWJBUTTONGETCONTENTPANEADDJBUTTON18JBUTTON18SETTEXT“C“JBUTTON18SETBOUNDS215,271,82,48JBUTTON18SETFONTNEWJAVAAWTFONT“MICROSOFTYAHEIUI“,0,18JBUTTON18ADDACTIONLISTENERNEWACTIONLISTENERPUBLICVOIDACTIONPERFORMEDACTIONEVENTEVTSYSTEMOUTPRINTLN“JBUTTON18ACTIONPERFORMED,EVENT“EVT/TODOADDYOURCODEFORJBUTTON18ACTIONPERFORMEDJTEXTFIELD1SETTEXT“JBUTTON19NEWJBUTTONGETCONTENTPANEADDJBUTTON19JBUTTON19SETTEXT“JBUTTON19SETBOUNDS384,93,64,44JBUTTON19SETFONTNEWJAVAAWTFONT“MICROSOFTYAHEIUI“,0,28JBUTTON19ADDACTIONLISTENERNEWACTIONLISTENERPUBLICVOIDACTIONPERFORMEDACTIONEVENTEVTSYSTEMOUTPRINTLN“JBUTTON19ACTIONPERFORMED,EVENT“EVT/TODOADDYOURCODEFORJBUTTON19ACTIONPERFORMEDSTRINGSTR1JBUTTON19GETTEXTSTRINGSTR2JTEXTFIELD1GETTEXTJTEXTFIELD1SETTEXTSTR2STR1JBUTTON20NEWJBUTTONGETCONTENTPANEADDJBUTTON20JBUTTON20SETTEXT“JBUTTON20SETBOUNDS308,93,64,44JBUTTON20SETFONTNEWJAVAAWTFONT“MICROSOFTYAHEIUI“,0,28JBUTTON20ADDACTIONLISTENERNEWACTIONLISTENERPUBLICVOIDACTIONPERFORMEDACTIONEVENTEVTSYSTEMOUTPRINTLN“JBUTTON20ACTIONPERFORMED,EVENT“EVT/TODOADDYOURCODEFORJBUTTON20ACTIONPERFORMEDSTRINGSTR1JBUTTON20GETTEXTSTRINGSTR2JTEXTFIELD1GETTEXTJTEXTFIELD1SETTEXTSTR2STR1JBUTTON21NEWJBUTTONGETCONTENTPANEADDJBUTTON21JBUTTON21SETTEXT“JBUTTON21SETBOUNDS122,270,82,48JBUTTON21SETFONTNEWJAVAAWTFONT“MICROSOFTYAHEIUI“,0,28JBUTTON21ADDACTIONLISTENERNEWACTIONLISTENERPUBLICVOIDACTIONPERFORMEDACTIONEVENTEVTSYSTEMOUTPRINTLN“JBUTTON21ACTIONPERFORMED,EVENT“EVT/TODOADDYOURCODEFORJBUTTON21ACTIONPERFORMEDSTRINGSTR1JBUTTON21GETTEXTSTRINGSTR2JTEXTFIELD1GETTEXTJTEXTFIELD1SETTEXTSTR2STR1PACKTHISSETSIZE476,373CATCHEXCEPTIONE/ADDYOURERRORHANDLINGCODEHEREEPRINTSTACKTRACECAL类IMPORTJAVAXSWINGJOPTIONPANEIMPORTJAVAUTILSTACKPUBLICCLASSCAL/检验表达式是否正确123此种错误未解决PUBLICSTATICBOOLEANCHECKSTRINGSTRBOOLEANBOOLFALSE/检验是否有非法符号FORINTI0I48/操作符栈STACKOPERATORNEWSTACK/操作符栈栈底元素,优先级最低OPERATORPUSH/SYSTEMOUTPRINTLNOPERATORPEEK/扫描字符串每一个元素LOOPFORINTI0ISTRLENGTHI/如果当前字符

温馨提示

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

评论

0/150

提交评论