Java论文信息化论文:基于JAVA的简单计算器的设计与实现
Java 论文信息化论文:基于 JAVA 的简单计算器的设计与实现摘要:随着人们了解信息越来越数据化,高速度的获取信息的同时,对计算机的要求也越来越高,不仅在其容量上越来越大,特别是在其功能上要求的越来越多,数据类型和精度越来越准确。该文用 java 实现简单计算器的设计。java 是一种简单的,面象对象的,分布式的,解释的,键壮的,安全的,结构的,中立的,可移植的,性能很优异的多线程的,动态的语言。通过设计,达到了预期功能效果。关键词:java;信息化;计算器1 设计要求计算器一般是指“电子计算机器” ,一般由运算器、存储器、键盘、显示器、电源和一些可选外围设备组成。该设计可以进行十进制下的四则运算(加、减、乘、除) 、开根号、百分号、求倒数,还可以实现数值的符号转换及计算器有关內存操作 backspace 表示退格, ce 表示将当前文本框內数据清除,c 表示文本框內数据清除,同时 var,answer 清 0。此外还提供了“编辑” 、 “查看” 、 “帮助”三个菜单项,使用者可通过使用菜单项实现某些功能。在java—editplus 下直接运行(calculator.java)即可,界面为灰白对称。2 工作原理图、功能规划2.1 计算器的界面的设计设计的计算器窗口中整体使用的是 borderlayout 布局,在 borderlayout 布局中又嵌套使用了 cardlayout 布局。菜单栏上有编辑、查看、帮助三个菜单。在菜单下分别是复制、粘帖、标准型、科学型及数字分组、还有帮助主题、关于计算器等菜单项,窗口的中间是文本框区域以白色为背景用来输入输出数据,窗口下面是按钮用来实现各种操作。2.2 相应功能设计编辑、查看、帮助菜单是通过 jmenu 类来实现的,其中复制、粘帖、标准型、科学型及数字分组、还有帮助主题、关于计算器等菜单项都是通过 jmenuitem 类来实现的,帮助主题菜单项中定义了一个含有滚动条的多行文本区。加、减、乘、除、等于以及求百分号操作都是通过 double类中的 parsedouble()方法来实现的。开根号运算是通过java.lang 包中的 math 类的 sqrt()方法来实现的,求倒数运算通过自定义的方法 1:double.parsedouble()来实现的,并通过 tostring()方法显示。按下 +/- 按钮时处理方法是自定义的。计算器有关内存操作包括 mc 操作, ms 操作 mr 操作和 m+ 操作,其中 mc 操作的功能是将内存清 0 , ms 操作的功能是将当前文本框内容保存入内存并显示 m , mr 的操作的功能是将存储器中的信息输出, m+ 的功能是将当前文本框里的数据和存储器中数据相加后,再存入存储器。 backspace 按钮是利用循环将当前字符串中的最后一个字母删除来实现; ce 按钮是将当前文本框内数据清除; c 按钮是将文本框内数据清除,同时var,answer 清 0。输入中如果有操作非法,比如按下两次 + ,捕获异常。3 主要功能实现代码1)加、减、乘、除操作:if (temp == buttonadd) {switch (prekey) {case 0:answerd += double.parsedouble(textanswer.gettext());break;case 1:answerd -= double.parsedouble(textanswer.gettext());break;case 2:answerd *= double.parsedouble(textanswer.gettext());//返回一个新的 double 值,该值被初始化为用指定文本框表示的值break;case 3:if (double.parsedouble(textanswer.gettext()) == 0) {textanswer.settext(“除数不能为零“);clickable = false;}elseanswerd /= double.parsedouble(textanswer.gettext());break;default:answerd = double.parsedouble(textanswer.gettext());}textanswer.settext(““);prekey = key = 0;}2)开根号运算:if (temp == buttonsqrt if (s.charat(0) == - ) {textanswer.settext(“负数不能开根号“);clickable = false;}elsetextanswer.settext(double.tostring(java.lang.math.sqrt(double.parsedouble(textanswer.gettext()))));}其他功能代码因篇幅所限不一一列出。程序界面如图 1 所示。4 运行结果分析1)进行加、减、乘、除运算,首先键入计算的第一个数字,单击“+”执行加、 “-”执行减、 “*”执行乘或“/”执行除,再键入计算的下一个数字,输入所有剩余的运算符和数字,最后单击“=”即可。若键入了计算的第一个数字再连续单击两个或两个以上运算符,或直接单击一个运算符,则提示“操作非法” 。2)等于运算。对上两个数字执行任意运算。要重复上一次的操作,请再次单击=即可。3)求百分号。输入一个数,单击运算符(+、-、*或/) ,再输入第二个数,单击%,然后单击=即可。例如 2*20%将显示为 0.4。4)开根号运算。计算显示数字的平方根,输入一个数,单击 sqrt 运算符即可,还可进行连续运算。如果没输入一个数而直接单击 sqrt 运算符,则提示“操作非法” 。如果输入的数为负数,则提示“负数不能开根号” 。5)求倒数运算。计算显示数字的倒数,输入一个数,单击 1/x 运算符即可,还可进行连续运算。如果没输入一个数而直接单击 1/x 运算符,则提示“操作非法” 。如果输入的数为 0,则提示“零不能求倒数” 。6)正负转换运算。改变显示数字的正负号。输入一个数,单击+/-运算符即可。7) 计算器有关内存作包括 mc 操作, ms 操作 mr 操作和 m+ 操作,其中 mc 操作的功能是将内存清 0 , ms 操作的功能是将当前文本框内容保存入内存并显示 m , mr 的操作的功能是将存储器中的信息输出, m+ 的功能是将当前文本框里的数据和存储器中数据相加后,再存入存储器。 backspace 按钮是利用循环将当前字符串中的最后一个字母删除来实现; ce 按钮是将当前文本框内数据清除; c 按钮是将文本框内数据清除,同时var,answer 清 0。参考文献:[1] 田立平,李兴衡,李志.通用客观题考试软件的设计[j].2005(04):5-9.[2] 李一波,李润霞,王亚杰.计算机无纸考试系统上机考试软件设计[j].2000(12):55-58.[3] 吕凤翥.java 语言程序设计[m].北京:清华大学出版社,2006.[4] 张文乐.基于 java 的计算机图形学[m].北京:科学出版社,2004.