




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
山东交通学院JAVA课程设计简易计算器设计院(系)别 信息科学与电气工程学院班 级 * 学 号 * 姓 名 * 指导教师 * 时 间 2014-06-232014-06-27 课 程 设 计 任 务 书题 目 简易计算器设计 院 (部) 信息科学与电气工程学院 专 业 * 班 级 * 学生姓名 * 学 号 * 06 月 23 日至 06 月 27 日 共 1 周指导教师(签字) * 院 长(签字) 年 月 日一、 设计内容及要求利用Java Applet图形界面首先开始设计一个计算器的界面,定义计算器所需要的按钮并赋给其按钮名称,使得使用计算器时简单明了,清晰可见,操作轻松。 给各个按钮进行算法,利用鼠标点击事件,当鼠标点击某个按钮时就开始执行那个按钮所定义的算法,生成数据并显示。 除数字的输入为直接进行输入外,其他运算例如+、-、清除等算法要求计算时通过内部较为复杂的运算将结果显示在显示屏上。二、设计原始资料Java程序设计案例教程、Java有关参考文献三、设计完成后提交的文件和图表1计算说明书部分 Calc类作为WindowAdapter的子类,可以对窗口事件进行处理,因此windowClosing()方法实现了当窗口关闭时退出整个程序。同时calc类实现了ActionListener接口,用于对单击按钮事件进行处理。因此不论哪个按钮的单击都交给actionListener()方法来处理。2图纸部分:计算器减法运算加法运算清楚运算四、进程安排1、选择并分析题目要求1天2、查阅相关资料1天3、设计编程调试2.5天4、答辩0.5天五、主要参考资料 1朱福喜.Java语言程序设计(第二版).科学出版社2陈国君等.Java程序设计基础(第二版).清华大学出版社3 Deitel.Java大学基础教程(第六版).电子工业出版社 4 MaryCampione.Java语言导学(第四版).机械工业出版社5 Y.Daniel Liang.Java语言程序设计基础篇(第六版). 机械工业出版社6 Kathy Sierra.Head First Java(第二版).东南大学出版社目 录1概述11.1设计目的及思路11.2功能模块设计11.3系统功能图12计算器的设计与实现22.1程序界面22.2程序源代码23计算器演示54运行调试及讨论分析75小结8参考文献9摘要本计算器是由java语言所编程设计的标准计算器,可以进行十进制下的加、减。通过本课程设计使学生能够较全面的掌握面向对象程序设计的有关概念和开发方法,以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力。关键字:java语言,计算器,算法1概述1.1设计目的及思路通过本课程设计使学生能够较全面的掌握面向对象程序设计的有关概念和开发方法,以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力。利用Java Applet图形界面首先开始设计一个计算器的界面,定义计算器所需要的按钮并赋给其按钮名称,使得使用计算器时简单明了,清晰可见,操作轻松。给各个按钮进行算法,利用鼠标点击事件,当鼠标点击某个按钮时就开始执行那个按钮所定义的算法,生成数据并显示。除数字的输入为直接进行输入外,其他运算例如+、-、清除等算法要求计算时通过内部较为复杂的运算将结果显示在显示屏上。当然了在输入数据时还要进行异常捕捉,防止越界的现象的发生,这也是Java语言健壮性的体现!1.2功能模块设计以下为标准计算器的基本功能:(1)加法 两个数据进行加操作,可以为小数。(2)减法 两个数据进行减操作,可以为负数相减。(3)清除清除文本区域的内容。1.3系统功能图计算器减法运算加法运算清楚运算2计算器的设计与实现2.1程序界面 2.2程序源代码import java.awt.GridLayout;import java.awt.event.*;import javax.swing.*;class calc extends WindowAdapter implements ActionListener int i, k;JFrame f;JButton b = new JButton10;JButton be, badd, bc, bm;JTextField answer;JPanel p;JPanel p2;String s = ;int t1, t2;public static void main(String args) calc cg = new calc();cg.go();public void go() p = new JPanel();p2 = new JPanel();answer = new JTextField(0, 15); String s=0,1,2,3,4,5,6,7,8,9; for (int i = 0; i b.length; i+) bi=new JButton(si); be = new JButton(=);badd = new JButton(+);bc = new JButton(C);bm = new JButton(-);p.setLayout(new GridLayout(4, 3);p2.setLayout(new GridLayout(1, 2);p.add(b7);p.add(b8); p.add(b9);p.add(b4);p.add(b5);p.add(b6);p.add(b1);p.add(b2);p.add(b3);p.add(b0);for (int i = 0; i b.length; i+)bi.addActionListener(this);p2.add(bc);p2.add(bm);p.add(be);p.add(badd);bm.addActionListener(this);be.addActionListener(this);badd.addActionListener(this);f = new JFrame(calc);f.setSize(300, 300);f.add(answer, North);f.add(p, Center);f.add(p2, South);bc.addActionListener(this);f.addWindowListener(this);f.pack();f.setVisible(true);public void actionPerformed(ActionEvent e) if (e.getSource() = bc) s = ;t1 = 0;t2 = 0; i=0; k=0;answer.setText(0); else if (e.getSource() = badd) t1 = Integer.parseInt(answer.getText();k = 1;i=0; else if (e.getSource() = be) if (s != null)t2 = Integer.parseInt(s);if (i = 1) t1 = t1 - t2; else t1 = t2 + t1;s = null;t2 = 0;k = 1;answer.setText(new Integer(t1).toString(); else if (e.getSource() = bm) i = 1;t1 = Integer.parseInt(answer.getText();k = 1; else JButton j = (JButton) e.getSource();if (k = 1) s = ;k = 0;s = s + j.getText();answer.setText(s);public void windowClosing(WindowEvent ev) System.exit(0);3计算器演示加法4+5减法5-1清除4运行调试及讨论分析将代码写好之后检查代码的正确性,检查代码无误后将代码进行调试和运行将会出现一个JavaApplet计算器界面。在调试过程中可能会出现有界面但是不能运行小程序,那是因为没有初始化小程序,那时我们应该在主函数中将小程序进行初始化,这样小程序才能运行!在调试和运行完全正确后,我们就可以按照自己的意愿将小程序进行简单测试,例如输入一些简单数据分别运行各个按钮结果正确后可以初步确定程序师正确的。有时候我们还要输入不同范围的值进行测试,可能会发现更多的错误,因为有时候我们定义数据的范围可能会过小或输入数据会越界,到时我们就可以改正以适应更多更大的运算。有时候我们会不自觉的选择一种最优函数方法尽量将自己的代码简单规范而又不缺少题目所要求的功能,那就要求我们翻阅很多参考书和查阅很多资料。其实javaApplet图形界面的布局也是我们要讨论的范围,如何使得界面更加美观是我们要探讨的!有时候我们可能会到书上或网上找到一些满足我们要求的程序代码,在此我们应该取其优秀的简单易理解代码作为我们设计程序的代码,作为初学者参考和借用部分外部程序是不可避免,但是我认为前提我们应该看懂那些程序代码,要知其所以然,那样才达到我们学程序的目的,但不主张完全照搬,否则就会没意义了!5小结到此本次课程报告快接近尾声了,通过本次课程设计我学到了好多、也发现了自己的好多不足!很显然最明显的收获是理解和较熟练的掌握了JavaApplet图形界面的基本方法,尤其在JavaApplet图形界面的布局方面学到颇多,以前布局很乱并且很多布局都是无效的。在此次课设中通过查阅很多资料和同学的互相帮助,充分发挥了JavaApplet界面布局的优越性。另外按钮功能的实现也是本次课设的一大难点,怎样实现那些功能是关键。通过这次课设我又学会了好多Java中的简单便捷的函数,例如Integer.parseInt(answer.getText()函数(实现的是将一个字符串换成一个整数)。另外我这次课设部分程序是通过外部资料得到的,这使得我认识到查阅资料和开外多看书籍的重要性。但不主张照搬,因为那不是我们自己成果,那是不光彩的 。总之通过此次课设我学到了好多,也掌握了好多关于JavaApplet的事件管理和按钮功能实现方法,这次课设给我的感受就是:只要你有心,不怕你完成不了课设。参考文献1朱福喜.Java语言程序设计(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 德州数学新课标考试题及答案
- 天文系考试题目及答案
- 时空量子纠缠-洞察及研究
- 2025年公需科目人工智能与健康试题及答案
- 2025年公需科目考试试题集及答案
- 2025年公需科目《专业技术人员创新能力培养》题库(含答案)
- 2025年高级电工证考试试题含答案
- 系统实施与管理办法
- 人道救助管理办法无锡
- 蜀绣地标保护管理办法
- 乒乓球体育课教案1
- 自然灾害与防治
- 先进制造技术第1章
- 2023年兴文县中医院康复医学与技术岗位招聘考试历年高频考点试题含答案解析
- 用地性质分类表代码
- 中班语言绘本《点》课件
- 浙江省地方课程《人自然社会》课件
- 新版现代西班牙语第二册课后答案
- 英语中考常用一词多义词
- 上海港港口拖轮经营人和港口拖轮名录
- T-CAMET 04017.1-2019 城市轨道交通 全自动运行系统规范 第1部分:需求
评论
0/150
提交评论