ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:148.41KB ,
资源ID:6178333      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6178333.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算器java课程设计.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

计算器java课程设计.docx

1、计算器java课程设计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.

3、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) .add(bdes) btnpanel.add(equal); btnpanel.add(subtract) 以上是在第二个面板btnpanelH中添加的0到9和+,-,*,/,=的按钮。4、附加功能(1)“清零”: 用于清空文本框和下一次的运算(2)“异常处理” 除数为零:当除数为零时,弹出“

4、除数不能为零”窗体 错误输入:当只单击运算符时,弹出“错误输入”窗体 三、 详细设计和编码1、总体功能图1、类的定义及关系 Jsq类继承JFrame类创建主界面,在主界面上由文本框JTextField和JButton组件构成,JTextField和JButton组件分别放置在两个不同的面板JPanel上,同时利用按钮注册监听器,获取事件源。添加实现0-9和加、减、乘、除按钮并实现四则运算并获得运算结果以及“清零”和“异常处理机制”。2、运行效果图3、源代码import javax.swing.*;import java.awt.*;import java.awt.event.*;public

5、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(计算器);txtpanel=new JPanel();btnpanel=new JPanel();txti

6、nput=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);b5=new JButton(5);b6=new JButton(6);b7=new JButton(7);b8=new JButton(8);b9=new JButton(9);b0=new JButton(0)

7、;bdes=new JButton(.);add=new JButton(+);subtract=new JButton(-);multiply=new JButton(*);divide=new JButton(/);clear=new JButton(清 零);equal=new JButton(=);clear.addActionListener(new ActionListener() public void actionPerformed(ActionEvent argh) btnCancelActionPerformed(););b1.addActionListener(this)

8、;b2.addActionListener(this);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(

9、this);divide.addActionListener(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

10、);btnpanel.add(b7);btnpanel.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);setS

11、ize(250,220);setVisible(true);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)

12、txtinput.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()+6);else if(obj=b7)txtinput.setText(txtinput.getT

13、ext()+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.setText(txtinput.getText()+.);else if(obj=add) d1=Double.parseDouble(txtinput.getText();s=+;txtinput.se

14、tText();else if(obj=subtract) d1=Double.parseDouble(txtinput.getText();s=-;txtinput.setText(); else if(obj=divide) d1=Double.parseDouble(txtinput.getText();s=/;txtinput.setText();else if(obj=multiply) d1=Double.parseDouble(txtinput.getText();s=*;txtinput.setText();else if(obj=equal) if(s=+) d2=d1+Do

15、uble.parseDouble(txtinput.getText();txtinput.setText(Double.toString(d2);else if(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

16、(d2); else if(s=/) if(Double.parseDouble(txtinput.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 ou

17、ch) 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();四、 测试结果本次课程设计的计算器能够满足加、减、乘、除四则基本运算,而且通过自己的努力为此计算器添加了两个附加的功能:“清零”和“异常

18、处理机制”,并能很好的实现其功能。但是此计算器的功能还是很单薄,不能进行开方、取余、三角函数等其他计算器的常用功能。一是因为这些功能相对复杂一些,二是自己有点懒惰。所以造成此计算器功能不是很完善。五、 小结 在此次的课程设计实践中,我学到了教科书上没有的东西。这次课程设计,我按照课程设计的要求,分块实现程序的功能。在实践中我遇到许多的问题,通过同学的帮助和翻阅资料以及网上查询,最后都克服,最终我成功的完成了这次课程设计。从中我充分理解了Java面对对象的特性,通过编写这个相对复杂的程序,让我认识解决实际问题前应现建立模型,再通过建立的模型使问题简单化,从而解决问题。这次编写的程序大部分是通过调用各包中的方法来实现的,这也让我充分理解了包和类调用的关系。并为其增加了两个功能“清零”和“异常处理机制”。由于这次编写的程序相对比较复杂,所以不能一次性编写、调试,也由此让我学会把程序分块,逐个编写、调试。在实践的同时,我又从中成长了许多,特别是在对程序的编译和调试中掌握了许多的技巧和方法,为今后的其他计算机语言的学习奠定了一定的基础。六、 参考文献1 张思民. Java语言程序设计M. 清华大学出版社. 2007.22 耿祥义. Java 2 使用教程(第三版)M. 清华大学出版社. 2006.8

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1