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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

java课程设计计算器的制作.docx

1、java课程设计计算器的制作 java课程设计计算器的制作 河北工程大学科信学院 JAVA 课程设计说明书 计算器的设计 专业班级 班 课设题目 学生姓名 学生学号 指导教师 提交日期 2 一、 内容摘要: 运用本学期所学知识设计一个能够完成简单四则运算的计算器; 以 Myeclipse 作为开发环境, 结合之前所学的 Java 基础知识共同完成。 该计算器的计算结果保留了两位小数; 这里简单介绍设计思想: 构造出一个界面, 然后往面板上粘贴各个组件,包括按钮、 标签、 文本框等。 二、 设计目的: 通过课程设计加深对 Java 程序设计的理解, 掌握 Java 程序开发的基本方法, 把课堂上

2、所学到的多个单元串到一起, 提高解决问题和分析问题的能力, 具体体现在以下几个方面: 1、 了解 Java 开发一般应用程序的方法和步骤; 2、 进一步强化类的定义, 掌握类的继承、 接口; 3、 熟练掌握变量、 数组的应用; 4、 熟悉图形用户界面中常用组件的使用, 掌握事件处理机制; 5、 了解数据库连接技术 JDBC、 网络编程和多线程机制。 三、 设计内容: 3. 1 需求分析 3. 1. 1 计算器的基本功能: 加法运算: 用+ 按钮进行运算; 减法运算: 用- 按钮进行运算; 乘法运算: 用 * 按钮进行运算; 除法运算: 用 / 按钮进行运算; 清零键: 用 清空 按钮实现; 3

3、. 2 用户界面设计 该计算器程序的设计: 用户界面包括 Swing 组件, 不过程序中大都使用的是 AWT 组件. import java. awt. *; 在 AWT 组件中: (1) 、 使用了面板和按钮: mianban 1, 2, 3; private JPanel mianBan1 = new JPanel() ; /面板 1 存放, 窗口、 和清空按钮 chuangKou. add(mianBan1, BorderLayout. NORTH) ; /面板 1, 存放窗口的北边 private JPanel mianBan2 = new JPanel() ; /存放其他按钮 mia

4、nBan2. add(s7) ; mianBan2. add(s8) ; mianBan2. add(s9) ; mianBan2. add(jia) ; mianBan2. add(s4) ; mianBan2. add(s5) ; mianBan2. add(s6) ; mianBan2. add(jian) ; mianBan2. add(s1) ; mianBan2. add(s2) ; mianBan2. add(s3) ; mianBan2. add(cheng) ; mianBan2. add(s0) ; mianBan2. add(dian) ; mianBan2. add(d

5、eng) ; mianBan2. add(chu) ; mianBan2. setLayout(new GridLayout(4, 4) ) ; / 面板 2 的布局模式 Button s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; Button jia, jian, cheng, chu; Button 清空, = , . ; private JPanel mianBan3 = new JPanel() ; /存放标签 JLabel biaoQian0 = new JLabel(- 屠 式 计算器-) ; /标签 mianBan3. add(biaoQian0

6、) ; chuangKou. add(mianBan3, BorderLayout. SOUTH) ; / 位于窗口南边 (2)、 界面属性: chuangKou. setVisible(true) ; /可见 chuangKou. pack() ; /把容器包起来 chuangKou. setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE) ; / 直接退出 shuRuKuang. setHorizontalAlignment(JTextField. RIGHT ) ; / 编 辑 框文字右对齐 /chuangKou. setResizable(fal

7、se) ; /不能调大小 chuangKou. setLocation(500, 300) ; /坐标 chuangKou. setSize(330, 250) ; /大小 (3)、 给按钮添加背景颜色: jia. setBackground(new Color(255, 50, 50) ) ; jian. setBackground(new Color(255, 50, 50) ) ; cheng. setBackground(new Color(255, 50, 50) ) ; chu. setBackground(new Color(255, 50, 50) ) ; dian. setB

8、ackground(new Color(60, 200, 50) ) ; deng. setBackground(new Color(60, 200, 50) ) ; s0. setBackground(new Color(60, 200, 50) ) ; s1. setBackground(new Color(60, 200, 50) ) ; s2. setBackground(new Color(60, 200, 50) ) ; s3. setBackground(new Color(60, 200, 50) ) ; s4. setBackground(new Color(60, 200,

9、 50) ) ; s5. setBackground(new Color(60, 200, 50) ) ; s6. setBackground(new Color(60, 200, 50) ) ; s7. setBackground(new Color(60, 200, 50) ) ; s8. setBackground(new Color(60, 200, 50) ) ; s9. setBackground(new Color(60, 200, 50) ) ; qingKong. setBackground(new Color(200, 250, 100) ) ; /清除按钮颜色 mianB

10、an1. setBackground(new Color(200, 200, 255) ) ; /mianBan1 颜色 mianBan3. setBackground(new Color(200, 200, 255) ) ; /mianBan2 颜色 (4)、 事件监听: dian. addMouseListener(new OperationMouseListener() ) ; deng. addMouseListener(new OperationMouseListener() ) ; a、 注册四则运算监听 jia. addMouseListener(new YunSuanJianT

11、ing() ) ; jian. addMouseListener(new YunSuanJianTing() ) ; cheng. addMouseListener(new YunSuanJianTing() ) ; chu. addMouseListener(new YunSuanJianTing() ) ; b、 注册数字监听事件 s0. addMouseListener(new ShuZiJianTing() ) ; s1. addMouseListener(new ShuZiJianTing() ) ; s2. addMouseListener(new ShuZiJianTing()

12、) ; s3. addMouseListener(new ShuZiJianTing() ) ; s4. addMouseListener(new ShuZiJianTing() ) ; s5. addMouseListener(new ShuZiJianTing() ) ; s6. addMouseListener(new ShuZiJianTing() ) ; s7. addMouseListener(new ShuZiJianTing() ) ; s8. addMouseListener(new ShuZiJianTing() ) ; s9. addMouseListener(new S

13、huZiJianTing() ) ; c、 清空监听器: qingKong. addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) shuRuKuang. setText() ; /清空编辑框 d、 数字按钮监听器: private class ShuZiJianTing implements MouseListener public void mouseClicked(MouseEvent e) if(shuRuKuang. getText() . trim() . equals(0

14、) ) /如果文本框已 经是0, 结果还是 0 shuRuKuang. setText(JButton) e. getSource() ) . getText() . trim() ) ; shuRuKuang. setText(shuRuKuang. getText() . concat(JButton) e. getSource() ) . getText() . trim() ) ) ; public void mouseEntered(MouseEvent e) public void mouseExited(MouseEvent e) public void mousePressed

15、(MouseEvent e) public void mouseReleased(MouseEvent e) e、 运算按钮监听器: private class YunSuanJianTing implements MouseListener /如果输入的是运算符号, 保存第一个结果和运算符号 public void mouseClicked(MouseEvent e) num1 = shuRuKuang. getText() . trim() ; shuRuKuang. setText() ; operator = (JButton) e. getSource() ) . getText()

16、 . trim() ; public void mouseEntered(MouseEvent e) public void mouseExited(MouseEvent e) public void mousePressed(MouseEvent e) public void mouseReleased(MouseEvent e) f、 小数点、 等号监听器: private class OperationMouseListener implements MouseListener public void mouseClicked(MouseEvent e) if(e. getSource(

17、) = dian) String text = shuRuKuang. getText() . trim() ; /如果按了小数点, 如果文本框已经有小数点, 不做任何操作, 否则在结果后面加上小数点 if(text. indexOf(. ) = -1) shuRuKuang. setText(text. concat(. ) ) ; else if(e. getSource() = deng) /如果是等号 if(!operator. trim() . equals() ) if(!shuRuKuang. getText() . trim() . equals() ) double resu

18、lt = 0D; if(operator. equals(+) ) /执行加法运算 result = Double. parseDouble(num1) + Double. parseDouble(shuRuKuang. getText() . trim() ) ; else if(operator. equals(-) ) /减法运算 result = Double. parseDouble(num1) - Double. parseDouble(shuRuKuang. getText() . trim() ) ; else if(operator. equals(*) ) /乘法运算 re

19、sult = Double. parseDouble(num1) * Double. parseDouble(shuRuKuang. getText() . trim() ) ; else if(operator. equals(/) ) /除法运算 result = Double. parseDouble(num1) / Double. parseDouble(shuRuKuang. getText() . trim() ) ; /格式化最终结果, 保留两位小数点 shuRuKuang. setText(new DecimalFormat(0. 00) . format(result) )

20、; 四、 测试 4. 1 加法运算(实现 49+57=106): 4. 2 减法运算(实现 48-79= -31): 4. 3 乘法运算(684*211=144324): 4. 4 除法运算(251/51=4. 92): 4. 5 清空: 任何情况下鼠标点击清空按钮都可以进行清空操作 4. 6 计算器整界面运行效果: 五、 设计缺陷: 5. 1 该计算器只能进行简单的加、 减、 乘、 除四则运算, 不能进行科学计算比如: 幂运算、 对数运算、 三角函数运算等。 5. 2 在进行运算的过程中, 输入数值以后当按下加减乘除任意一个按钮时数值会自 动清空, 这带来的不便之处在于有时候会忘记输入的值。

21、 5. 3 在不用鼠标的情况下不能对该计算器进行操作, 把键盘上小键盘各个按键与界面各个按钮相对应起来操作会更加方便。 六、 总结体会: 做完这次程序设计, 我学到了很多知识, 我选的是计算机程序, 大家都说计算机程序比较简单。 可我觉得虽然简单, 但也有许多不清楚的地方。 尤其是刚开始编写程序的时候, 好多地方都出错, 做着总是比想象的难。 学习 JAVA 半年了, 没学习前只是听说过, 现在对 JAVA 也有了一些更深入的了解。 比起 C 语言, JAVA 语言的确先进了许多。 计算器的设计, 首先就是考虑图形界面怎么分布。 在头脑里大概有了思路。 我想设计一个计算器除了可以进行基本的加减

22、乘除外还具备求平方、 倒数和其他之类的一些功能。 可到最后我也只是弄出了加减乘除。 我们用了 十天的时间做程序设计, 十天虽然不长, 但我的收获挺大。 把以前好多不清晰的知识在老师的指导下, 我慢慢懂了许多。 用了好七天的时间勉强的做了一个程序出来。 通过这次课程设计, 我体会了 JAVA 广泛的运用性。 由于时间仓促还有很多有待完善的地方, 在今后的学习中, 我会加倍努力去做好。 附: 程序全部代码 import java. awt. *; import javax. swing. *; import java. awt. event. *; import java. text. Decim

23、alFormat; public class JiSuanQi public JFrame chuangKou = new JFrame(计算器) ; private JPanel mianBan1 = new JPanel() ; private JPanel mianBan2 = new JPanel() ; private JPanel mianBan3 = new JPanel() ; private JTextField shuRuKuang = new JTextField(20) ; private JButton qingKong = new JButton(清 空) ; pr

24、ivate JButton jia = new JButton(+) ; private JButton jian = new JButton(-) ; private JButton cheng = new JButton(*) ; private JButton chu = new JButton(/) ; private JButton dian = new JButton(. ) ; private JButton deng = new JButton(=) ; private JButton s0 = new JButton(0) ; private JButton s1 = new

25、 JButton(1) ; private JButton s2 = new JButton(2) ; private JButton s3 = new JButton(3) ; private JButton s4 = new JButton(4) ; private JButton s5 = new JButton(5) ; private JButton s6 = new JButton(6) ; private JButton s7 = new JButton(7) ; private JButton s8 = new JButton(8) ; private JButton s9 =

26、 new JButton(9) ; private String num1 = ; private String operator = ; public static void main(String args) new JiSuanQi() ; public JiSuanQi() mianBan1. add(shuRuKuang) ; mianBan1. add(qingKong) ; chuangKou. add(mianBan1, BorderLayout. NORTH) ; mianBan2. add(s7) ; mianBan2. add(s8) ; mianBan2. add(s9

27、) ; mianBan2. add(jia) ; mianBan2. add(s4) ; mianBan2. add(s5) ; mianBan2. add(s6) ; mianBan2. add(jian) ; mianBan2. add(s1) ; mianBan2. add(s2) ; mianBan2. add(s3) ; mianBan2. add(cheng) ; mianBan2. add(s0) ; mianBan2. add(dian) ; mianBan2. add(deng) ; mianBan2. add(chu) ; mianBan2. setLayout(new G

28、ridLayout(4, 4) ) ; chuangKou. add(mianBan2, BorderLayout. CENTER) ; JLabel biaoQian0 = new JLabel(-屠式计算器-) ; mianBan3. add(biaoQian0) ; chuangKou. add(mianBan3, BorderLayout. SOUTH) ; chuangKou. setVisible(true) ; chuangKou. pack() ; chuangKou. setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE) ; shuR

29、uKuang. setHorizontalAlignment(JTextField. RIGHT ) ; chuangKou. setLocation(500, 300) ; chuangKou. setSize(330, 250) ; jia. setBackground(new Color(255, 50, 50) ) ; jian. setBackground(new Color(255, 50, 50) ) ; cheng. setBackground(new Color(255, 50, 50) ) ; chu. setBackground(new Color(255, 50, 50

30、) ) ; dian. setBackground(new Color(60, 200, 50) ) ; deng. setBackground(new Color(60, 200, 50) ) ; s0. setBackground(new Color(60, 200, 50) ) ; s1. setBackground(new Color(60, 200, 50) ) ; s2. setBackground(new Color(60, 200, 50) ) ; s3. setBackground(new Color(60, 200, 50) ) ; s4. setBackground(ne

31、w Color(60, 200, 50) ) ; s5. setBackground(new Color(60, 200, 50) ) ; s6. setBackground(new Color(60, 200, 50) ) ; s7. setBackground(new Color(60, 200, 50) ) ; s8. setBackground(new Color(60, 200, 50) ) ; s9. setBackground(new Color(60, 200, 50) ) ; qingKong. setBackground(new Color(200, 250, 100) )

32、 ; mianBan1. setBackground(new Color(200, 200, 255) ) ; mianBan3. setBackground(new Color(200, 200, 255) ) ; dian. addMouseListener(new OperationMouseListener() ) ; deng. addMouseListener(new OperationMouseListener() ) ; jia. addMouseListener(new YunSuanJianTing() ) ; jian. addMouseListener(new YunSuanJianTing() ) ; cheng. addMouseListener(new YunSuanJianTing() ) ; chu. addMouseListener(new YunSuanJianTing() ) ; s0. addMouseListener(new ShuZiJianTing() ) ; s1. addMo

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

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