已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
XX 学院计算机科学与技术系实 验 报 告课程名称 程序设计基础实验(2)实验项目 应用系统的面向对象设计与分析实验类型 综合性实验完 成 人所在班级指导教师完成日期 2009 年 11 月 20 日实验报告正文一实验报告简表实验课题名称 计算器综合性实验项目 应用系统的面向对象设计与分析服务课程 程序设计基础实验(2)实验小组组长指导教师参与实验人员及其在实验课题中承担的主要任务(包括组长)学 号 小组成员姓名 班 级 在实验课题中的主要作用二、 实验内容1、 完成计算器的编写。2、 完成实验报告的写作.三、 实验要求1、理解并掌握图形界面的设计。2、理解整体算法的思路,即 actionPerformed()的算法.3、进一步学习 JAVA 的编程思想。四、 实验目的1、理解并掌握图形界面的设计。2、理解整体算法的思路,即 actionPerformed()的算法。3、通过设计成的计算器的按钮输入所需要计算的数字,根据自己所需进行加减乘除运算,得出结果。4、进一步学习 JAVA 的编程思想。五、 实验条件编译器:NetBeansJava 环境: JDK 6.0操作系统: Windows XP 六、 思路分析1. 在开始写计算器之前,用笔在纸上画出计算器的草图,显示屏的位置,每个按钮的位置及大小比列。2. 使用 setLayout(new GridLayout(6, 3, 10, 10);创建容器框框,使用 JPanel JPanel pane = new JPanel();pane.setLayout(new BorderLayout();pane.add(result, BorderLayout.NORTH);pane.add(number_key, BorderLayout.SOUTH);通过之前的草图将按钮位置排好,这样计算器的外部形状也 Ok。3. 图形边框解决了之后开始通过 getSource()=“”去的事件源对象,进行实现按钮的输入;4. 这是计算器最关键的一步实现计算器的运算,首先定义四则运算的符号 i 。通过符号 i 实现加减乘除。如:switch (symbol) case 1 :double ad =total + Double.parseDouble(result.text.getText();result.text.setText(ad + “);i = 0;sum = “;break;实现加法。5.最后进行最后的测试,改正一些编写中的小错误,实现最后的结果。七、 程序代码import javax.swing.*;import java.awt.*;import java.awt.event.*;class Result extends JPanel JTextField text = new JTextField(“0“);Result() text.setHorizontalAlignment(SwingConstants.RIGHT);text.enable(false);setLayout(new BorderLayout();add(text, BorderLayout.CENTER);class Number_Key extends JPanel JButton zero = new JButton(“0“);JButton one = new JButton(“1“);JButton two = new JButton(“2“);JButton three = new JButton(“3“);JButton four = new JButton(“4“);JButton five = new JButton(“5“);JButton six = new JButton(“6“);JButton seven = new JButton(“7“);JButton eight = new JButton(“8“);JButton nine = new JButton(“9“);JButton plus = new JButton(“+“);JButton sub = new JButton(“-“);JButton mul = new JButton(“*“);JButton div = new JButton(“/“);JButton equal = new JButton(“=“);JButton ce = new JButton(“ce“);JButton point = new JButton(“.“);JButton tzero = new JButton(“00“);Number_Key() setLayout(new GridLayout(6, 3, 10, 10);add(seven);add(eight);add(nine);add(four);add(five);add(six);add(one);add(two);add(three);add(zero);add(tzero);add(plus);add(sub);add(mul);add(div);add(point);add(equal);add(ce);public class Calculator extends JFrame implements ActionListener Result result = new Result();Number_Key number_key = new Number_Key();boolean com = false;int i = 0;String sum = “;double total = 0;int symbol = 0;Calculator() super(“Calculator“);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);JPanel pane = new JPanel();pane.setLayout(new BorderLayout();pane.add(result, BorderLayout.NORTH);pane.add(number_key, BorderLayout.SOUTH);number_key.one.addActionListener(this);number_key.two.addActionListener(this);number_key.three.addActionListener(this);number_key.four.addActionListener(this);number_key.five.addActionListener(this);number_key.six.addActionListener(this);number_key.seven.addActionListener(this);number_key.eight.addActionListener(this);number_key.nine.addActionListener(this);number_key.zero.addActionListener(this);number_key.ce.addActionListener(this);number_key.plus.addActionListener(this);number_key.equal.addActionListener(this);number_key.sub.addActionListener(this);number_key.mul.addActionListener(this);number_key.div.addActionListener(this);number_key.tzero.addActionListener(this);number_key.point.addActionListener(this);setContentPane(pane);pack();public void actionPerformed(ActionEvent e) if (e.getSource() = number_key.one) if (com | i = 0) result.text.setText(“1“);com = false;i = 1; else sum = result.text.getText();result.text.setText(sum + “1“); else if (e.getSource() = number_key.two) if (com | i = 0) result.text.setText(“2“);com = false;i = 1; else sum = result.text.getText();result.text.setText(sum + “2“); else if (e.getSource() = number_key.three) if (com | i = 0) result.text.setText(“3“);com = false;i = 1; else sum = result.text.getText();result.text.setText(sum + “3“); else if (e.getSource() = number_key.four) if (com | i = 0) result.text.setText(“4“);com = false;i = 1; else sum = result.text.getText();result.text.setText(sum + “4“); else if (e.getSource() = number_key.five) if (com | i = 0) result.text.setText(“5“);com = false;i = 1; else sum = result.text.getText();result.text.setText(sum + “5“); else if (e.getSource() = number_key.six) if (com | i = 0) result.text.setText(“6“);com = false;i = 1; else sum = result.text.getText();result.text.setText(sum + “6“); else if (e.getSource() = number_key.seven) if (com | i = 0) result.text.setText(“7“);com = false;i = 1; else sum = result.text.getText();result.text.setText(sum + “7“); else if (e.getSource() = number_key.eight) if (com | i = 0) result.text.setText(“8“);com = false;i = 1; else sum = result.text.getText();result.text.setText(sum + “8“); else if (e.getSource() = number_key.nine) if (com | i = 0) result.text.setText(“9“);com = false;i = 1; else sum = result.text.getText();result.text.setText(sum + “9“);else if (e.getSource() = number_key.zero) if (com | i = 0) result.text.setText(“0“);com = false;i = 1; else sum = result.text.getText();if (Float.parseFloat(sum) 0 | Float.parseFloat(sum) 0 | Float.parseFloat(sum) 0) result.text.setText(sum + “00“); else if (sum.trim().indexOf(“.“) = -1) result.text.setText(sum); else result.text.setText(sum + “00“);else if (e.getSource() = number_key.point) if (com | i = 0) result.text.setText(“0.“);com = false;i = 1; else sum = result.text.getText();if (sum.trim().indexOf(“.“) = -1) result.text.setText(sum + “.“); else result.text.setText(sum);else if (e.getSource() = number_key.plus) com = true;i = 0;total = Double.parseDouble(result.text.getText();symbol = 1;else if (e.getSource() = number_key.sub) com = true;i = 0;total = Double.parseDouble(result.text.getText();symbol = 2;else if (e.getSource() = number_key.mul) com = true;i = 0;total = Double.parseDouble(result.text.getText();System.out.println(total);symbol = 3;else if (e.getSource() = number_key.div) com = true;i = 0;total = Double.parseDouble(result.text.getText();symbol = 4; else if (e.getSource() = number_key.equal) switch (symbol) case 1 :double ad =total + Double.parseDouble(result.text.getText();result.text.setText(ad + “);i = 0;sum = “;break;case 2 :double ad =total - Double.parseDouble(result.text.getText();result.text.setText(String.valueOf(ad);i = 0;sum = “;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 正规文章格式要求
- 吉林体育院2010届学士学位论文撰写规范
- 工程监理合同延期服务费(3篇)
- 中学生议论文评语
- 工程合同相关建议书范文(3篇)
- 论民族声乐对戏曲演唱与表演的借鉴
- 盈利能力存在的主要问题及对策分析
- 激光选区熔化成形技术的发展现状及研究进展
- 书香青春读书向未来初二议论文范文5
- 物资采购及管理存在的问题
- 了不起的我课件完整版
- 三菱HOPE电梯的故障码
- 抖音企业号操作文档最新版
- YC/T 145.2-2012烟用香精相对密度的测定
- GB/T 5709-1997纺织品非织造布术语
- GB/T 16823.3-2010紧固件扭矩-夹紧力试验
- 1-《祖国祖国我们爱你》课件音乐
- 量子信息与量子计算课件
- 小学道德与法治一年级集体备课记录表(一年级)
- 原材料检验不合格评估报告
- 分子生物学第八章真核基因表达调控课件
评论
0/150
提交评论