




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机科学与技术教研室课程设计说明书(2014-2015学年 第1学期)课程名称java与数据库课程设计设计题目模拟计算器学号姓名小组成员起止时间: 2015年 7 月 6 日 至 2015 年 7 月 17 日 课程设计评 语在该课程设计中,该生按时到机房进行课程设计,表现良好,参与了该课程设计的整个过程,实现了模拟计算器系统的以下功能:标准型计算器的加减乘除等;科学型计算器的数学常用函数。其课程设计说明书填写正确,有条有理,代码正确,有了一定的独立编程能力并且对课本知识掌握较为熟练。能按照设计要求完成指定的功能。该生在答辩过程中程序运行正常,回答问题较流利,对java和数据库知识掌握良好。平时成绩报告成绩演示与答辩成绩成绩总评指导教师(签字)年 月 日注:成绩均用百分制。总成绩=平时成绩*20%+报告成绩*40%+演示与答辩成绩*40%第 13 页设计题目:模拟计算器1、 课程设计目的(1)使学生巩固和提高java编程技术(2)培养学生掌握程序设计的基本思路和方法; (3)加强学生研发、调试程序的能力;(4)培养学生分析、解决问题的能力;(5)提高学生的科技论文写作能力。2、课程设计正文2.1概要设计系统分析该系统主要功能包括:设计一个图形界面(gui)的计算器应用程序,完成简单的算术运算,计算器应用程序可以完成加法、减法、乘法、除法且有小数点、正负号的运算,和完成复杂的数学常用函数的运算,计算器应用程序可以完成求倒数、三角函数、log函数、ln函数、幂函数、反三角函数的运算;还包括退格和清零等功能。用鼠标单击相应的数字键和运算符号键,然后单击=按钮,窗口上方的文本框将会显示计算出来的结果,要将文本编辑框清零,可单击清零按钮。图1系统功能图分析:1.定义一个类,在类的构造方法中设计定义gui图形界面,设计出标准计算器的图形界面和科学型计算器的图形界面; 2.给定义的数字按钮添加actionlistener监听事件,点击按钮在文本框中出现相应的数字;3.给的菜单中的菜单项添加mouselistener监听事件,item1监听显示标准型计算器,item2监听显示科学型计算器; 4.标准型计算器功能:实现基本的加减乘除的运算; 5.科学型计算器功能:实现常见的数学函数的运算,像三角函数、反三角函数、log函数、ln函数、取整、取余等;模拟计算器要实现的功能:1、数字的输入;2、函数的实现与调用;3、删除文本框中的内容;4、清零文本框;5、等于功能;6、退出系统。2.2详细设计2.2.1窗体、按钮、菜单的定义jframe j=new jframe(计算机);jpanel p=new jpanel();jpanel p1=new jpanel();jpanel p2=new jpanel();jpanel p3=new jpanel();jtextfield t=new jtextfield();jmenubar bar1=new jmenubar();jmenu mnu1=new jmenu(查 看);jmenuitem item1=new jmenuitem(标准型);jmenuitem item2=new jmenuitem(科学型);buttongroup grp1=new buttongroup();/-科学性-jbutton b13=new jbutton(mod);jbutton b14=new jbutton(asin);jbutton b15=new jbutton(acos);jbutton b16=new jbutton(atan);jbutton b17=new jbutton(int);jbutton b18=new jbutton();jbutton b19=new jbutton(!);jbutton b20=new jbutton(1/x);jbutton b21=new jbutton(log);jbutton b22=new jbutton(ln);jbutton b23=new jbutton(sin);jbutton b24=new jbutton(cos);jbutton b25=new jbutton(tan);jbutton b26=new jbutton();jbutton b27=new jbutton(e);jbutton b28=new jbutton(%);/-标准型-jbutton bt1=new jbutton(1);jbutton bt2=new jbutton(2);jbutton bt3=new jbutton(3);jbutton bt4=new jbutton(4);jbutton bt5=new jbutton(5);jbutton bt6=new jbutton(6);jbutton bt7=new jbutton(7);jbutton bt8=new jbutton(8);jbutton bt9=new jbutton(9);jbutton bt10=new jbutton(0);jbutton bt0=new jbutton(00);jbutton bt11=new jbutton(.);jbutton bt12=new jbutton(+);jbutton bt13=new jbutton(-);jbutton bt14=new jbutton(*);jbutton bt15=new jbutton(/);jbutton bt16=new jbutton(=);jbutton bt17=new jbutton();jbutton bt18=new jbutton(复位);jbutton bt19=new jbutton(删除);2.2.2 gui图形界面的设计:bar1.add(mnu1);mnu1.add(item1);mnu1.add(item2);j.setlayout(null);p.setlayout(new gridlayout(4,5);p1.setlayout(new gridlayout(4,3);p2.setlayout(new gridlayout (4,4);p1.setbackground(color.black);j.setbounds(50, 50, 500, 600);p.setbounds(50, 150,400, 400);p1.setbounds(50, 150, 200,300);p2.setbounds(253, 225, 300, 226);t.setbounds(50,40,400,100);bar1.setsize(500, 30);t.setfont(font);p2.add(b13);p2.add(b17);p2.add(b21);p2.add(b25);p2.add(b14);p2.add(b18);p2.add(b22);p2.add(b26);p2.add(b15);p2.add(b19);p2.add(b23);p2.add(b27);p2.add(b16);p2.add(b20);p2.add(b24);p2.add(b28);p.add(bt7);p.add(bt8);p.add(bt9);p.add(bt14);p.add(bt17);p.add(bt4);p.add(bt5);p.add(bt6);p.add(bt15);p.add(bt18);p.add(bt1);p.add(bt2);p.add(bt3);p.add(bt12);p.add(bt19);p.add(bt10);p.add(bt0);p.add(bt11);p.add(bt13);p.add(bt16);j.add(bar1);j.add(t);p.setvisible(false);p1.setvisible(false);p2.setvisible(false);p3.setvisible(false);j.setvisible(true);2.2.3 事件的监听 (1)数字按钮的监听 操作结果:在文本框输入相应的数字; 分析:按钮添加actionlistener监听,实现actionperformed()方法,在方法体中调用settext()方法文本框的输入; (2)菜单项的监听 操作结果:点击相应的菜单项显示相应的图形界面; 分析:菜单项添加mouselitener监听,实现其中的mousepressed()方法,在方法体中设置面板的setvisable()方法,实现相应的界面显示; (3)加减按钮的监听 操作结果:实现对数字的连加连减功能; 分析:给加减法按钮添加actionlistrener监听,重写actionperformrd()方法中实现连加连减的算法,并设置id的值,为点击等于按钮监听中的switch(id)提供选项; (4)乘除按钮的监听 操作结果:实现对输入数字的乘除算法; 分析:在按钮的监听中利用s1=str 、str+=*、s2= 实现文本框中数字的交换,并设置id的值; (5)科学型计算按钮的监听 操作结果:点击相应的科学型计算按钮实现相应的功能 ; 分析:给科学型按钮添加actionlistener监听,重写actionperformed()方法实现相应的功能; (6)删除按钮添加监听 操作结果:对文本框中的内容进行删除; 分析:在删除按钮的监听中定义数组char c1,c2; c2=new char str.length()-1;c1=str.tochararray()利用for循环实现对文本框中的内容长度减一,以此来实现删除; (7)等于按钮的监听 操作结果:点击等于号文本框中显示计算结果 分析:在等于按钮的监听中在各个id选项中实现不同的算法,在科学型算法的id选项中调用math类中的函数来实现功能,再利用switch(id)来选择算法执行并在文本框中显示结果; (8)复位按钮的监听操作结果:点击复位按钮实现文本框的清零 分析:在复位按钮的监听中将所有用到的字符串和double型的数字全部设置为空;2.2.4函数流程图(1)标准型计算器流程图图2标准型计算器流程图(2)科学型计算器流程图图5科学型计算器流程图2.2.5代码(见附录)2.3程序测试结果(1)主菜单界图3主界面(2)标准型计算器界面图5标准型计算器界面(3)科学型计算器界面图6科学型计算器界面2、 课程设计总结我们已经学习了一学期的java和数据库知识,通过这次课程设计,使我对于java和数据库这两门课门课有了比较深的了解,虽然在学习过程中也遇到各种各样的困难,但是通过查询书籍以及询问老师等途径解决了许多问题。在解决这些问题的过程中让我也学到了许多课本上没有的知识,巩固了知识而且明白了团队合作的重要性。在编写程序时,首先我对模拟计算器系统进行了大致的了解,通过小组内成员的讨论将问题更具体化,知道如何去编写这个程序。首先定义所有需要的框架、按钮,再设置其大小位置,并且给每一个按键添加监听编写其监听事件;总共这个系统共两部分,第一部分是标准型计算器,第二部分是科学型计算器。通过这次的课程设计,我学到了许多,更加明白了课本的重要性,同时也发现了自己在学习上的一些不足之处。在做这个课题之前我又重新的看了一遍课本,把老师教过的知识和书上的基础知识又巩固了一遍,在课程设计的时候就可以避免盲目的去做。通过编写程序,开拓了我的视野,学会了独立思考问题的能力以及上机操作的能力。这些都是我可以继续学习的重要渠道。通过编程,我知道了想要完成一个课程设计必须具备的一些素质。首先要有足够的程序设计的基础知识储备,然后是对程序进行编程时需要的开拓思维,之后就是对于模拟计算器系统设计的认识。在方法上面我学到了编程时应该利用多种思考的方法去解决问题,而不是只局限于一种方法去实现程序的设计。通过这次课程设计,我受益匪浅,学到了许多的知识与技能。更加重要的是提高了我分析问题的能力、多面思考问题的能力。另一方面我在这次课程设计中明白了合作精神的重要性。从中也认识到了自己的许多的不足。例如没有耐心,有时侯在调试程序时,发现了一个错误,但是总是解决不了,心里就会感到厌烦,不想继续做下去。还有不够细心,每一次改写完程序后,检查了一遍,自己认为没有错了,结果一调试发现又有错误等等。不过也发现了自己的一些优点,比如善于听取他人意见,虚心求教等。最后,通过全组人的齐心协力,最终将程序编写了出来,并且使之得到实现我们的预期目的。通过此次课程设计,从一定成度上提高了我们对数据结构的熟悉度,也提高了我们独立编程的能力,同时也体会到在程序设计过程中团体合作,共同解决问题的重要性。综上所述,在学习过程中我不断的吸取知识,对于不足之处及时地改正。同时我深刻地认识到要学好数据结构更重要的是掌握一些计算机方面的知识以及c+方面的知识,同时具备上机操作能力,实践操作与知识的掌握同等重要。4、参考文献1 朱福喜.java语言程序设计(第二版).科学出版社2 陈国君等.java程序设计基础(第二版).清华大学出版社3 deitel.java大学基础教程(第六版).电子工业出版社 4 marycampione.java语言导学(第四版).机械工业出版社5 y.daniel lia
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 满洲里俄语职业学院《中医经典应用》2023-2024学年第二学期期末试卷
- 江西省赣州市寻乌县重点名校2025届初三第二学期化学试题4月月考试卷含解析
- 天门职业学院《分子生物学A》2023-2024学年第一学期期末试卷
- 化工厂外来人员安全培训
- 2025蚌埠市房地产中介服务合同范本
- 2025年上海市劳务派遣合同范本
- 2025履行合同签订流程
- 2025新版购房合同
- 2025年餐饮业商铺租赁合同
- 2025年公寓租赁合同书
- 山东省威海市乳山市银滩高级中学2024-2025学年高一下学期4月月考地理试题(原卷版+解析版)
- 信息技术在商业中的应用研究试题及答案
- 2025建筑信息模型技术员(初级)技能鉴定精练考试题库及答案
- 2024-2025学年七年级语文下学期期中模拟卷05
- 实施《中华人民共和国反外国制裁法》的规定
- 2025年中国储能检测认证行业市场运行态势及发展趋势预测报告-智研咨询发布
- 湖南新高考教学教研联盟暨长郡二十校联盟2025届高三年级第二次联考物理试题及答案
- 诊断与评估课件 第十二节 资赋优异儿童特征及学习资料
- 襄阳市樊城区城市更新投资发展有限公司招聘考试真题2024
- 2022智能变电站网络记录及分析装置测试规范
- 2025年湖南省中考数学模拟试卷(一)(原卷版+解析版)
评论
0/150
提交评论