收藏 分销(赏)

java专业课程设计计算器的制作.doc

上传人:天**** 文档编号:2727200 上传时间:2024-06-05 格式:DOC 页数:16 大小:75.04KB
下载 相关 举报
java专业课程设计计算器的制作.doc_第1页
第1页 / 共16页
java专业课程设计计算器的制作.doc_第2页
第2页 / 共16页
java专业课程设计计算器的制作.doc_第3页
第3页 / 共16页
java专业课程设计计算器的制作.doc_第4页
第4页 / 共16页
java专业课程设计计算器的制作.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

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

2、深入强化类定义,掌握类继承、接口;3、 熟练掌握变量、数组应用;4、 熟悉图形用户界面中常见组件使用,掌握事件处理机制;5、 了解数据库连接技术JDBC、网络编程和多线程机制。三、设计内容:3.1 需求分析 3.1.1 计算器基础功效:加法运算:用“+”按钮进行运算;减法运算:用“-”按钮进行运算;乘法运算:用 “*”按钮进行运算;除法运算:用 “/”按钮进行运算;清零键: 用”清空”按钮实现; 3.2 用户界面设计该计算器程序设计:用户界面包含Swing组件,不过程序中大全部使用是AWT组件. import java.awt.*;在AWT组件中:(1)、使用了面板和按钮:mianban 1,

3、2,3;private JPanel mianBan1 = new JPanel();/面板1存放,窗口、和清空按钮chuangKou.add(mianBan1,BorderLayout.NORTH);/面板1,存放窗口北边private JPanel mianBan2 = new JPanel();/存放其它按钮mianBan2.add(s7);mianBan2.add(s8);mianBan2.add(s9);mianBan2.add(jia);mianBan2.add(s4);mianBan2.add(s5);mianBan2.add(s6);mianBan2.add(jian);mia

4、nBan2.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 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

5、 JPanel();/存放标签JLabel biaoQian0 = new JLabel(- 屠式计算器-);/标签mianBan3.add(biaoQian0);chuangKou.add(mianBan3,BorderLayout.SOUTH);/在窗口南边 (2)、界面属性: chuangKou.setVisible(true);/可见chuangKou.pack(); /把容器包起来chuangKou.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/直接退出shuRuKuang.setHorizontalAlignment(JTextFi

6、eld.RIGHT ); /编辑框文字右对齐/chuangKou.setResizable(false); /不能调大小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);d

7、ian.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(new Color(60,200,50);s5.setBackground(new Color(60,2

8、00,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);/清除按钮颜色mianBan1.setBackground(new Color(200,200,255);/mianBan1颜色mianBan3.setBackground(new Colo

9、r(200,200,255);/mianBan2颜色(4)、事件监听: dian.addMouseListener(new OperationMouseListener();deng.addMouseListener(new OperationMouseListener(); a、注册四则运算监听jia.addMouseListener(new YunSuanJianTing();jian.addMouseListener(new YunSuanJianTing();cheng.addMouseListener(new YunSuanJianTing();chu.addMouseListene

10、r(new YunSuanJianTing();b、注册数字监听事件s0.addMouseListener(new ShuZiJianTing();s1.addMouseListener(new ShuZiJianTing();s2.addMouseListener(new ShuZiJianTing();s3.addMouseListener(new ShuZiJianTing();s4.addMouseListener(new ShuZiJianTing();s5.addMouseListener(new ShuZiJianTing();s6.addMouseListener(new Sh

11、uZiJianTing();s7.addMouseListener(new ShuZiJianTing();s8.addMouseListener(new ShuZiJianTing();s9.addMouseListener(new ShuZiJianTing();c、清空监听器:qingKong.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) shuRuKuang.setText();/清空编辑框 d、数字按钮监听器:private class ShuZiJianTing i

12、mplements MouseListenerpublic void mouseClicked(MouseEvent e) if(shuRuKuang.getText().trim().equals(0)/假如文本框已经是0,结果还是0shuRuKuang.setText(JButton)e.getSource().getText().trim();shuRuKuang.setText(shuRuKuang.getText().concat(JButton)e.getSource().getText().trim();public void mouseEntered(MouseEvent e)

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

14、operator = (JButton)e.getSource().getText().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 MouseListenerpublic void mouseCli

15、cked(MouseEvent e) if(e.getSource() = 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 result

16、= 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(*)/乘法运算result = Double.parseDouble(num1) * Dou

17、ble.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);四、测试4.1加法运算(实现49+57=106):4.2减法运算(实现48-79= -31):4.3乘法运算(684*211=1443

18、24):4.4除法运算(251/51=4.92):4.5清空:任何情况下鼠标点击清空按钮全部能够进行清空操作4.6计算器整界面运行效果:五、设计缺点:5.1该计算器只能进行简单加、减、乘、除四则运算,不能进行科学计算比如:幂运算、对数运算、三角函数运算等。5.2 在进行运算过程中,输入数值以后当按下加减乘除任意一个按钮时数值会自动清空,这带来不便之处于于有时候会忘记输入值。5.3 在不用鼠标情况下不能对该计算器进行操作,把键盘上小键盘各个按键和界面各个按钮相对应起来操作会愈加方便。六、总结体会:做完这次程序设计,我学到了很多知识,我选是计算机程序,大家全部说计算机程序比较简单。可我认为即使简单

19、,但也有很多不清楚地方。尤其是刚开始编写程序时候,好多地方全部犯错,做着总是比想象难。学习JAVA六个月了,没学习前只是听说过,现在对JAVA也有了部分更深入了解。比起C语言,JAVA语言确实优异了很多。计算器设计,首先就是考虑图形界面怎么分布。在头脑里大约有了思绪。我想设计一个计算器除了能够进行基础加减乘除外还含有求平方、倒数和其它之类部分功效。可到最终我也只是弄出了加减乘除。我们用了十天时间做程序设计,十天即使不长,但我收获挺大。把以前好多不清楚知识在老师指导下,我慢慢懂了很多。用了好七天时间勉强做了一个程序出来。经过这次课程设计,我体会了JAVA广泛利用性。因为时间仓促还有很多有待完善地

20、方,在以后学习中,我会加倍努力去做好。附:程序全部代码import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.text.DecimalFormat;public class JiSuanQi public JFrame chuangKou = new JFrame(计算器);private JPanel mianBan1 = new JPanel();private JPanel mianBan2 = new JPanel();private JPanel mianBan3 = new JPanel(

21、);private JTextField shuRuKuang = new JTextField(20);private JButton qingKong = new JButton(清 空);private 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 JButto

22、n deng = new JButton(=);private JButton s0 = new JButton(0);private JButton s1 = new 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

23、 JButton(7);private JButton s8 = new JButton(8);private JButton s9 = 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);mianBa

24、n2.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(deng);mianBan2.add(chu);mianBan2.setLayout(new

25、GridLayout(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);shuRuKuang.setHorizontalAlignment

26、(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);dian.setBackground(new Color(60,200,50);deng.setBackground(new

27、 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,50);s5.setBackground(new Color(60,200,50);s6.setBackground(new Color(60,200,50);s7.setBackground

28、(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);mianBan1.setBackground(new Color(200,200,255);mianBan3.setBackground(new Color(200,200,255);dian.addMouseListener(new OperationMouseListener();deng.addMouse

29、Listener(new OperationMouseListener();jia.addMouseListener(new YunSuanJianTing();jian.addMouseListener(new YunSuanJianTing();cheng.addMouseListener(new YunSuanJianTing();chu.addMouseListener(new YunSuanJianTing();s0.addMouseListener(new ShuZiJianTing();s1.addMouseListener(new ShuZiJianTing();s2.addM

30、ouseListener(new ShuZiJianTing();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 Shu

31、ZiJianTing();qingKong.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) shuRuKuang.setText(););private class ShuZiJianTing implements MouseListenerpublic void mouseClicked(MouseEvent e) if(shuRuKuang.getText().trim().equals(0)shuRuKuang.setText(JButton)e.getSource().g

32、etText().trim();elseshuRuKuang.setText(shuRuKuang.getText().concat(JButton)e.getSource().getText().trim();public void mouseEntered(MouseEvent e) public void mouseExited(MouseEvent e) public void mousePressed(MouseEvent e) public void mouseReleased(MouseEvent e) private class YunSuanJianTing implemen

33、ts MouseListenerpublic void mouseClicked(MouseEvent e) num1 = shuRuKuang.getText().trim();shuRuKuang.setText();operator = (JButton)e.getSource().getText().trim();public void mouseEntered(MouseEvent e) public void mouseExited(MouseEvent e) public void mousePressed(MouseEvent e) public void mouseRelea

34、sed(MouseEvent e) private class OperationMouseListener implements MouseListenerpublic void mouseClicked(MouseEvent e) if(e.getSource() = dian)String text = shuRuKuang.getText().trim();if(text.indexOf(.) = -1)shuRuKuang.setText(text.concat(.);else if(e.getSource() = deng)if(!operator.trim().equals()i

35、f(!shuRuKuang.getText().trim().equals()double result = 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(*)res

36、ult = 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);public void mouseEntered(MouseEvent e) public void mouseExited(MouseEvent e) public void mousePressed(MouseEvent e) public void mouseReleased(MouseEvent e)

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服