- 10
- 0
- 约3.04千字
- 约 7页
- 2018-10-09 发布于重庆
- 举报
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;}
else
answerd /= double.parsedouble(textanswer.gettext());
break;
default:
answerd = double.parsedouble(textanswer.gettext());}
textanswer.settext();
prekey = key = 0;}
2)开根号运算:
if (temp == buttonsqrt clickable == true) {
string s = textanswer.gettext();
if (s.charat(0) == -) {
textanswer.settext(负数不能开根号);
clickable = false;}
else
textanswer.settext(double.tostring(java.l
您可能关注的文档
- DSP精品课程管理系统毕业设计.doc
- DSP研究性学习报告基本概念和技能 《近代数字信号处理》课程研究性学习报告.doc
- DSP研究性学习报告频谱计算《数字信号处理》课程研究性学习报告.docx
- DSP语音信号处理课程设计报告书语音信号处理GUI工具箱设计.doc
- DSP课程设计CPU内部AD转换.doc
- dsp课程设计基于DSP的信号发生器设计.docx
- DSP课程设计报告书基于DSP的指纹识别系统设计.doc
- DSP课程设计多波形信号发生器.doc
- DSP课程设计报告基于matlabGUI的IIR低通数字滤波器设计.docx
- DSP课程设计报告滤波器算法设计最小系统设计.doc
- 七年级语文上册期末模拟试卷1(解析版).docx
- 七年级语文上册期末模拟试卷1(原卷版).docx
- 七年级语文上册期末模拟试卷2(原卷版).docx
- 七年级语文上册期末模拟试卷2(解析版).docx
- 期末测试卷(二)(解析版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(三)(解析版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(二)(原卷版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(三)(原卷版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(一)(原卷版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
- 期末测试卷(一)(解析版)2024—2025学年七年级语文上册期末测试卷(全国版).docx
最近下载
- 2026届河南省洛阳市九年级数学第一学期期末复习检测模拟试题含解析.doc VIP
- HBM行业深度报告(一):工艺篇,设备新机遇.pdf VIP
- 肺间质性疾病.ppt VIP
- 高中英语非谓语动词讲解甄嬛传版本 课件高三英语一轮复习专项.pptx VIP
- 洛阳市重点中学2026届数学九年级第一学期期末达标检测模拟试题含解析.doc VIP
- 河南省洛阳市涧西区洛阳市2026届数学九年级第一学期期末学业质量监测模拟试题含解析.doc VIP
- 2022肺癌治疗指南.pptx VIP
- 伟康bipap synchrony2 呼吸机用户手册.doc VIP
- 髋关节撞击综合征诊疗优秀PPT(共61张PPT).pptx VIP
- 福建省福州市2024-2025学年高二上学期期末质量检测英语试题(含答案).docx VIP
原创力文档

文档评论(0)