版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、JAVA程序设计课程设计报告简单计算器学 号: 101210109 姓 名: 王 锦 锦 班 级: 10级计科一班 指导教师: 吕 海 莲 成 绩: 完成时间: 2012-12-25 1 / 10一、 设计内容和要求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(b
3、4) btnpanel.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.*;impor
5、t java.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("
7、4");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
8、 JButton("*");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);
9、b3.addActionListener(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.addActionListen
10、er(this);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.
11、add(b8);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
12、);setLocation(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)txti
13、nput.setText(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()+&quo
14、t;6");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
15、.setText(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(t
16、xtinput.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
17、(s="-") 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(txtinp
18、ut.getText()=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.showMessageDialog(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();四、 测试结果本次课程设计的计算器能够满足加、减、乘、除四则基本运算,而且通过自己的努
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大学班会学生安全教育
- 贷款买房流程
- 前台接诊标准化流程
- 古风毕业设计
- 2026年压力管道巡检维护考试题库(附答案)
- 家长缴费流程操作指引
- TCECA-G 零碳旅游景区建设评价规范(征求意见稿)-中国节能协会团体标准
- 协议解除合同书
- 2025年单细胞测序数据的插补方法比较研究
- 租房合同解除解协议书
- 中国食物成分表2020年权威完整改进版
- 学校临时聘用人员合同
- 2024年中国心脏脉冲电场消融系统(PFA)行业发展概况、市场全景分析及投资策略研究报告
- 职业技能竞赛互联网营销师(直播销售员)赛项考试题库500题(含答案)
- 厨房劳务承揽合同范本
- 尼康D90-使用指南
- T-GDWCA 0035-2018 HDMI 连接线标准规范
- JCT2460-2018 预制钢筋混凝土化粪池
- 电气化铁路有关人员电气安全规则2023年新版
- 小说文本解读和教学策略公开课一等奖市赛课获奖课件
- LS/T 3311-2017花生酱
评论
0/150
提交评论