版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、JAVA程序设计课程设计报告简单计算器学 号: 101210109 姓 名: 王 锦 锦 班 级: 10级计科一班 指导教师: 吕 海 莲 成 绩: 完成时间: 2012-12-25 一、 设计内容和要求1、简单计算器模拟程序的基本要求 模拟Windows中附件里面的计算器软件,能实现整数的加、减、乘、除四则运算。 2、需要实现的主要功能 该计算器模拟程序使用Java的awt包和Swing包的类库设计图形界面的计算器显示用户界面并且使用图形界面中的事件event委托机制来处理事件响应,以及用java语言设计实现整数的加、减、乘、除四则运算。(附加功能:清零和异常处理机制)二、 系统分析与概要设
2、计1、面板 JPanel txtpanel:用于放置文本框 Panel btnpanel: 用于放置按钮(0-9和+,-,*,/,=) 2、显示部分 (1)第一个面板:txtpanel 位置以及排列方式BorderLayout.NORTH txtpanel.add(txtinput):添加文本框到txtpanel面板中 (2)第二个面板:btnpanel 排列方式:setLayout(gl) 3、基本按钮 btnpanel.add(b7) btnpanel.add(b8) btnpanel.add(b9); btnpanel.add(multiply) btnpanel.add(b4) btn
3、panel.add(b5); btnpanel.add(b6) btnpanel.add(divide) btnpanel.add(b1); btnpanel.add(b2) btnpanel.add(b3) btnpanel.add(add); btnpanel.add(b0) .add(bdes) btnpanel.add(equal); btnpanel.add(subtract) 以上是在第二个面板btnpanelH中添加的0到9和+,-,*,/,=的按钮。4、附加功能(1)“清零”: 用于清空文本框和下一次的运算(2)“异常处理” 除数为零:当除数为零时,弹出“除数不能为零”窗体 错
4、误输入:当只单击运算符时,弹出“错误输入”窗体 三、 详细设计和编码1、总体功能图运行输入计算的数值值单击运算符号,再单击等于符号单击运算符号,弹出一个消息框,提醒错误输出结果YN1、类的定义及关系 Jsq类继承JFrame类创建主界面,在主界面上由文本框JTextField和JButton组件构成,JTextField和JButton组件分别放置在两个不同的面板JPanel上,同时利用按钮注册监听器,获取事件源。添加实现0-9和加、减、乘、除按钮并实现四则运算并获得运算结果以及“清零”和“异常处理机制”。2、运行效果图3、源代码import javax.swing.*;import java
5、.awt.*;import java.awt.event.*;public class Calculator extends JFrame implements ActionListenerJPanel txtpanel,btnpanel;JTextField txtinput;JButton b1,b2,b3,b4,b5,b6,b7,b8,b9,b0,bdes,multiply,divide,add,subtract,clear,equal;GridLayout gl;double d1,d2;String s;public Calculator()super("计算器"
6、);txtpanel=new JPanel();btnpanel=new JPanel();txtinput=new JTextField(25);txtinput.setEditable(false);txtinput.setHorizontalAlignment(JTextField.RIGHT);txtinput.setText("");b1=new JButton("1");b2=new JButton("2");b3=new JButton("3");b4=new JButton("4"
7、;);b5=new JButton("5");b6=new JButton("6");b7=new JButton("7");b8=new JButton("8");b9=new JButton("9");b0=new JButton("0");bdes=new JButton(".");add=new JButton("+");subtract=new JButton("-");multiply=new JButt
8、on("*");divide=new JButton("/");clear=new JButton("清 零");equal=new JButton("=");clear.addActionListener(new ActionListener() public void actionPerformed(ActionEvent argh) btnCancelActionPerformed(););b1.addActionListener(this);b2.addActionListener(this);b3.add
9、ActionListener(this);b4.addActionListener(this);b5.addActionListener(this);b6.addActionListener(this);b7.addActionListener(this);b8.addActionListener(this);b9.addActionListener(this);b0.addActionListener(this);bdes.addActionListener(this);multiply.addActionListener(this);divide.addActionListener(thi
10、s);add.addActionListener(this);subtract.addActionListener(this);equal.addActionListener(this);getContentPane().add(txtpanel,BorderLayout.NORTH);txtpanel.add(txtinput);txtpanel.add(clear);gl=new GridLayout(4,4,5,5);btnpanel.setLayout(gl);getContentPane().add(btnpanel);btnpanel.add(b7);btnpanel.add(b8
11、);btnpanel.add(b9);btnpanel.add(multiply);btnpanel.add(b4);btnpanel.add(b5);btnpanel.add(b6);btnpanel.add(divide);btnpanel.add(b1);btnpanel.add(b2);btnpanel.add(b3);btnpanel.add(add);btnpanel.add(b0);btnpanel.add(bdes);btnpanel.add(equal);btnpanel.add(subtract);setSize(250,220);setVisible(true);setL
12、ocation(300,200);setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);public void btnCancelActionPerformed() txtinput.setText("");public void actionPerformed(ActionEvent e) tryObject obj=e.getSource();if(obj=b1)txtinput.setText(txtinput.getText()+"1");else if(obj=b2)txtinput.s
13、etText(txtinput.getText()+"2");else if(obj=b3)txtinput.setText(txtinput.getText()+"3");else if(obj=b4)txtinput.setText(txtinput.getText()+"4");else if(obj=b5)txtinput.setText(txtinput.getText()+"5");else if(obj=b6)txtinput.setText(txtinput.getText()+"6&qu
14、ot;);else if(obj=b7)txtinput.setText(txtinput.getText()+"7");else if(obj=b8)txtinput.setText(txtinput.getText()+"8");else if(obj=b9)txtinput.setText(txtinput.getText()+"9");else if(obj=b0)txtinput.setText(txtinput.getText()+"0");else if(obj=bdes)txtinput.setTe
15、xt(txtinput.getText()+".");else if(obj=add) d1=Double.parseDouble(txtinput.getText();s="+"txtinput.setText("");else if(obj=subtract) d1=Double.parseDouble(txtinput.getText();s="-"txtinput.setText(""); else if(obj=divide) d1=Double.parseDouble(txtinpu
16、t.getText();s="/"txtinput.setText("");else if(obj=multiply) d1=Double.parseDouble(txtinput.getText();s="*"txtinput.setText("");else if(obj=equal) if(s="+") d2=d1+Double.parseDouble(txtinput.getText();txtinput.setText(Double.toString(d2);else if(s=&qu
17、ot;-") d2=d1-Double.parseDouble(txtinput.getText();txtinput.setText(Double.toString(d2);else if(txtinput.equals(txtinput.getText()&&obj=subtract) d2=d1-Double.parseDouble(txtinput.getText();txtinput.setText(Double.toString(d2); else if(s="/") if(Double.parseDouble(txtinput.get
18、Text()=0)JOptionPane.showMessageDialog(this, "除数不能为0");d2=d1/Double.parseDouble(txtinput.getText();txtinput.setText(Double.toString(d2);else if(s="*") d2=d1*Double.parseDouble(txtinput.getText();txtinput.setText(Double.toString(d2); catch(Exception ouch) JOptionPane.showMessageDi
19、alog(null,"错误输入","error",JOptionPane.ERROR_MESSAGE); public static void main(String args) try UIManager.setLookAndFeel ("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");catch(Exception e)new Calculator();四、 测试结果本次课程设计的计算器能够满足加、减、乘、除四则基本运算,而且通过自己的努力为此计算器添加了两个附加的功能:“
20、清零”和“异常处理机制”,并能很好的实现其功能。但是此计算器的功能还是很单薄,不能进行开方、取余、三角函数等其他计算器的常用功能。一是因为这些功能相对复杂一些,二是自己有点懒惰。所以造成此计算器功能不是很完善。五、 小结 在此次的课程设计实践中,我学到了教科书上没有的东西。这次课程设计,我按照课程设计的要求,分块实现程序的功能。在实践中我遇到许多的问题,通过同学的帮助和翻阅资料以及网上查询,最后都克服,最终我成功的完成了这次课程设计。从中我充分理解了Java面对对象的特性,通过编写这个相对复杂的程序,让我认识解决实际问题前应现建立模型,再通过建立的模型使问题简单化,从而解决问题。这次编写的程序
21、大部分是通过调用各包中的方法来实现的,这也让我充分理解了包和类调用的关系。并为其增加了两个功能“清零”和“异常处理机制”。由于这次编写的程序相对比较复杂,所以不能一次性编写、调试,也由此让我学会把程序分块,逐个编写、调试。在实践的同时,我又从中成长了许多,特别是在对程序的编译和调试中掌握了许多的技巧和方法,为今后的其他计算机语言的学习奠定了一定的基础。六、 参考文献1 张思民. Java语言程序设计M. 清华大学出版社. 2021 .22 耿祥义. Java 2 使用教程(第三版)M. 清华大学出版社. 2021 .8 教师见习报告总结期待已久的见习已经结束了,在龙岩三中高中部见习听课,虽然只
22、是短短的两个星期,但感触还是蛮深的,以前作为一名学生坐在课室听课,和现在作为一名准教师坐在课室听课是完全不同的感受,感觉自己学到了一些在平时课堂上学不到的东西。在这里,我获得的不仅是经验上的收获,更多是教学管理,课堂教学等的理念,以及他们带给我的种种思考。教育见习实践过程:听课。教育见习的主要目的是让学生在指导教师的引导下,观摩教师上课方法、技巧等。听课是教育见习的主要内容。我院规定在一周的见习中需完成至少6课的见习任务。我在教师的安排指导下,分别对高一、高二物理专业课型为主,其他课型齐头的方式,积极主动的完成了听课任务,收到良好的效果。我听的第一节课是高二(8)班,这是一个平衡班,水平不如实
23、验班高。在上课前。科任老师已经跟我说了这个班的纪律是比较差的,而且成绩也不是很好。在我听课期间,确实有几个学生在课堂上说话,但是我发现了一个有趣的现象,这个现象我在往后的几个班都发现了,就是绝大部分的学生的学习热情都好高涨,积极举手发言,积极参与课堂活动。我跟老师们提起这个现象的时候,科任老师就跟我说,一个班里不可能所有的学生都能全神贯注地听完一节课,所以作为一名教师,应该想办法吸引学生的注意力,调动的积极性,比如可以以小组为单位,以抢答计分的形式调动学生的积极性,这样课堂气氛就会活跃起来了。在为期两周的见习工作中,我真的有很大的感触,我第一次感受到自己已经从一名学生向一名教师靠近,走在校园里
24、,每当有学生叫我一声老师,我在感到无比自豪的同时,还感受到了自己的责任。见习工作结束了,我要回到学校继续我的学习了,但是我会好好记住我从*中学学到的一切,并应用于我的专业学习中去。一、教学管理理念 在龙岩三中,从领导阶层到一位普通的科任老师,都秉承以学生为主体的宗旨进行学校的管理,进行教学工作的开展。作为一个课程改革的示范学校,一个教育实验基地。这所学校鼓励着老师做各种研究,各种改革。每个班主任都有着自己的管理经验与管理宗旨。有了这种思想的自由,自然这里也就充满着探索与尝试,从而有所创造与进步。在我见习的班集体中,班主任对他的学生说:“我要让你们成为学习型的管理者,也是管理型的学习者
25、。”这样一句简单的话,让我感到这里老师进行班级管理的良苦用心。他们关心的不只是学生的学习,更多的是从一个完整的人的概念出发,去培养学生多方面的素质。二、教学理念 在见习期间,借着录课的机会,我听了很多的市级,校级的公开棵,还有理科实验班的课。在这些课堂上,让我看到教学改革正在悄然进行,有意识的老师正在努力体会“以学生为主体”的课堂模式。学生的创造也逐步成为教师追求的教学效果。其次,这里的老师也都在适应着多媒体教学,信息化教学,使得课堂更加生动,资源更加丰富,学生获取学习资源的渠道也就更多。尽管,这种教学理念、教学模式的推广仍然有很长的路,但似乎也并不遥远,相信,这股改革的浪潮会给教育领域带来很大的冲击。 三、实际工作经验 在上面,是我在这所学校感受最深刻,也是认为最有意义的收获。实际工作经验上,由于在指导老师的指导下,也获取了许多。 在班主任工作上,我认识到了一个老师的表率作用是很大的,学生时刻看老师,作为一个老师,应该从自己严格要求,并影响感染学生。这就要求师生之间的相互交流必须是贴心的,也是带有希望的。见习
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年江西省宜春市高职单招综合素质考试题库有答案详细解析
- 2026贵州六盘水红桥学校招聘教师33人笔试参考题库及答案解析
- 2026年福建省南平市高职单招职业技能考试题库含答案详细解析
- 2026宁夏宝丰储能负极厂招聘470人笔试模拟试题及答案解析
- 2026上海磁浮交通发展有限公司招聘笔试参考题库及答案解析
- 2026上半年北京事业单位统考平谷区第一次招聘76人考试备考题库及答案解析
- 2026中国记协直属事业单位招聘4人考试备考题库及答案解析
- 内蒙古鄂托克旗重点达标名校2026届初三4月期中练习(二模)(理、文合卷)语文试题含解析
- 无锡市崇安区2025-2026学年初三3月联合质量检测试题英语试题试卷含解析
- 2026年河北省衡水市八校初三下学期网上周考(一)英语试题含解析
- 掘进工作面过老巷、过采空区安全技术措施1429
- 产业发展调研方案
- 中央空调系统维保服务报价清单
- TRIZ矛盾矩阵新版48个参数课件
- 江西财经大学会计学原理 Ppt讲义
- 哈灵顿在现金(卷一)
- GB/T 18043-2013首饰贵金属含量的测定X射线荧光光谱法
- GB/T 17478-2004低压直流电源设备的性能特性
- 机修钳工题库(初版)
- 心力衰竭的护理和查房课件
- 世纪大桥工程项目ERP沙盘模拟方案设计
评论
0/150
提交评论