1、简易计算器Java实训报告实训报告书实训名称: Java 程序设计实训系(部): 信息工程系 专业班级: 计算机科学与技术学生姓名: 学 号: 指导教师: 张民 完成日期: 山东科技大学泰山科技学院实训课题简易计算器实训人姓名同组人员实训日期至实训成绩指导教师评语指导教师签名: 年 月 日1实训目的 错误!未定义书签。2 简易计算机的分析与设计 错误!未定义书签。系统功能描述 错误!未定义书签。系统模块设计 错误!未定义书签。数据库结构设计 错误 !未定义书签。3 主要代码清单 错误 ! 未定义书签。4 程序运行与测试 错误 ! 未定义书签。5 实训总结 错误 ! 未定义书签。简易计算机的设计
2、与实现1 实训目的通过本课程设计能够较全面的掌握面向对象程序设计的有关概 念和开发方法,以便能较全面地理解、掌握和综合运用所学的知识, 提高自身的编程能力。利用 Java Applet 图形界面首先开始设计一 个计算器的界面, 定义计算器所需要的按钮并赋给其按钮名称, 使得 使用计算器时简单明了,清晰可见,操作轻松。给各个按钮进行算法, 利用鼠标点击事件, 当鼠标点击某 个按钮时就开始执行那个按钮所定义的算法,生成数据并显示。除数字的输入为直接进行输入外, 其他运算例如 +、- 、* 、 / 、开平方等算法要求计算时通过内部较为复杂的运算将结果显示在 显示屏上。至于其中的进制转换功能的实现则是
3、直接调用 Java 中进 制转换的函数,例如要将十进制转换成二进制则可直接调用函数(int i)来实现,充分显示了 Java语言的简洁性和Java语言功能的 强大性。当然了在输入数据时还要进行异常捕捉,防止越界的现象 的发生,这也是Java语言健壮性的体现!2简易计算机的分析与设计系统功能描述此系统可以实现如下功能:1) 可进行“ +”、 “- ”、“ *”、 “/”以及混合运算2) 支持()改变运算的优先级3) 可进行二、十六和十进制数的相互转换4) 支持复制和粘贴操作系统模块设计(1) 加法两个数据进行加操作,可以为小数。(2) 减法两个数据进行减操作,可以为负数相减。3)乘法两个数相乘操
4、作。(4)除法两个数相除操作。(5)开平方对任意一个数进行开方运算,可以是小数。(6)求余对任意一个数进行求余运算。(7)倒数对任意一个数进行倒数运算。(8)转换将十进制数转换为二进制以及将二进制转换为十进制数据库结构设计倒数运开平方求余运乘法运除法运图2流程图3主要代码清单这段代码主要是对程序的主框架进行相应的设置 super(简易计算器);setSize(300,260);(new BorderLayout();jPanel1=new JPanel();(new GridLayout(1,1); );(this);f2=new JButton( = );(this);f3=new JBut
5、ton( C );(this);f4=new JButton( 负 );(this);f5=new JButton( 退格 );(this);(f3);(b4);(b3);(s7);(s8);(s9);(b1);(s4);(s5);(s6);(b2);(s1);(s2);(s3);(b5);(s0);(f1);(b6);(b7);(b8);(b9);(f2);3)数据输入用方法 num(int i) 设计如下: public void num(int i)String s = null;s=(i); quals(0)ength();if(i=1)else str=();(0,i-1);if (
6、venter.indezOf (M+M) !=-l) 4 匸口丹辽电工“抽丿if (Kentien-indeitOf (n-n) F-1) tDkniEer=rf-h; if (venter. - indezQf (nn F=-l) tokrizer=r,/n; if(venbar.lndenCf (rrt I-1) “Hi詰尸叫”:(rr平方!=-l 忧炽1盗=千方;if (briber, indexOfH 倒皺 ”)!一l) tolaiizsr-倒数;i f (center ind 亡界 Of J开平方片) !=1 txjkniz亡r= 开平万h卜if (venber.i indexOf
7、(ZiiS1.) !=-l) 匸口也让亡尸二进制h if (wenben.indMOf (+i8Si !=-l roJcniz+SS; /个运K符ffilM方法代昭1 f (event 7 5wri.g;lj;StringTokenizer sun=new StringTokenizsr(wenben,toknizerJ; int i=0;while (sur( Hai+=3urL.neKtTQkn();for(int j-0;j10;j+)(Spring s=a ji; String ic=a j+1;if isnoll) break; else(if (tckni2er=nrn) /n县7
8、09Uf%平力开平方十i制图9十进制变二进制5实训总结经过一周的实习,本学期的java课程设计到此也算告一段落了, 经过这次的学习,我学到了很多东西,在此基础上更加巩固了自己对 java基本知识及软件开发的了解。在做本项目是时候,会遇到很多小问题,比如说,在整个运算过程中要如何确保输入的计算数据哪个是第一个计算数据的, 哪个是第二个计算数据的,同时也要区分运算符,因为该计算器程序应用的都 是利用字符串来完成计算的,而且不能重复输出运算符,更不能将运 算符错误的存储在了第一个计算数据的数值中, 也得考虑到万一不小 心重复点击了运算符按钮会不会造成第一个计算数据的重新赋值等 等问题,最后想到利用布尔类型来很好的控制运算符的应用!此次课程设计让我更了解熟悉了 Java 中的图形用户界面和它的 编程方式。 在完成课题的过程中也不断充实了自己, 学习到了很多以 前没有学习到的知识, 收获很大。 最大的收获就是对大学学习的总结 和培养了解决困难的信心和能力, 使我对所学知识能够融会贯通, 又 不断丰富了新知识。 Java 计算器设计使得我们对所学的专业课有了 更为深刻的认识,使得知识得到了巩固和提高。在接下来的时间里, 我觉得我要更加努力的往深一层次 的方面看齐, 了解更多有关 java 的知识, 熟练掌握 java 中常用类的 方法。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1