欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    计算器课程设计.docx

    • 资源ID:27017659       资源大小:14.75KB        全文页数:9页
    • 资源格式: DOCX        下载积分:30金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要30金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    计算器课程设计.docx

    计算器课程设计 枣庄学院 信息科学与工程学院 课程设计任务书 题目:计算器的设计与实现 学号:202212220241 姓名:赵文正 专业:计算机应用技术 课程:java程序设计 指导教师:刘梦琳职称:讲师 完成时间:2022年月-2022 年月枣庄学院信息科学与工程学院制 课程设计任务书及成绩评定 目录 一.课程设计研究背景及意义 (4) 二.课程设计题目描述和要求 (4) 三.设计思路 (4) 四.课程设计报告内容 (5) 1、题目求解的理论依据及算法 (5) 2、数据结构: (6) 3、主要事件处理: (6) 4、简要的设计流程: (7) 5、代码 (7) 五、运行结果 (24) 六、总结: (24) 一.课程设计研究背景及意义 这次课程设计是通过JAVA编程来实现计算器的功能。以前,人们用来计算的工具不管从方便的角度还是速度的角度来看都不及现代计算器,计算器的发明是人类进步的有力证明。电子技术的不断发展使得计算器的功能不断的完善。人们通过使用计算器来提高自己的工作效率,计算器是高科技的产物,是以往任何时代都无法比拟的。在二十一世纪的今天,计算器依然是人们重要的计算工具,所以,对计算器的研究的课程设计具有重大意义。 本次课程设计题目主要应用到JAVA面向对象程序设计语言中Swing组件和GUI(图形用户界面)当中的一些知识,当然也用到JAVA中大部分基础知识,如JAVA的基本控制结构、数组、输入与输出等等。 二.课程设计题目描述和要求 通过JAVA中的Swing组件来制作一个计算器的界面包括09的十个数字按键,小数点键,+-*/开方百分比,倒数运算符键,=运行符键以及M 组合键等。以及实现计算器的一些基本的计算功能。这个模拟计算器能进行连加,连减,连乘,连除,求二次平方根,求百分比,求倒数以及负数运算等操作。 要求界面逼真,按键布局美观,要求实现加、减、乘、除等基本计算功能 三.设计思路 本应用程序继承自框架(frame),此程序使用frame布局管理器bordelayout,将单行文本加入相应区域,包含各种按纽的面板buttonpanel加入相应区域 还可以将进制转换的面板与单行文本框放一块 包含各种按纽的面板buttonpanel采用N行N列的网格布局,然后将数字按钮和运算符按钮以及控制按钮添加到面板中,同时注册按钮事件监听器日常生活中经常需要用到计算器,比如科学计算,数值计算,会计业务等等,在Applet中实现一个精巧的计算器,可以让用户的操作也更方便和快捷。本 项目需要实现一个具有四则运算的计算器,能够实现基本的加、减、乘、除运算,以及其它的辅助功能;界面简洁适用;要提供主要的设计思路、类的设计,本次设计添加转进制等功能 四.课程设计报告内容 1、题目求解的理论依据及算法 解题原理: (1)界面布局。创建一个面板,先将所有按钮:所有数字键和运算符键 等放在面板上,采用网格布局,具体设计为4行,5列的网格,二十个格子;接着添加一个1行3列的网格布局来放置三个功能键:清零,检测,退格键;然后,再添加一个5行一列的网格布局来放置四个M组合功能键和一个空键,其目的在于美化界面,使其与现实中的计算器更接近,同时也是为了满足这次课程设计的要求。最后,对以上三个面板,采用 BorderLayout布局,将按键面板放在计算器的中部,功能键面板放北部,作为一个新的面板。最后,将文本框放在界面的北部,新面板放在界面的中央,MKpanel放在界面的西部,采用边界布局管理器,做为界面的整体布局,这样界面布局就搞定了。 (2)输入数字、小数点、符号时按输入的顺序显示在单行文本框中,并 按右对齐方式显示,且不允许修改文本行中的内容。 (3)输入运算符时,说明前一个数已经输入完毕,保存第一个数 firstDigit,同时保存运算符,显示firstDigit。 (4)输入第二个数,按等号,保存第二数,根据输入的运算符进行相应 的运算,文本行中显示运算结果resultNum。 (5)按退格键Backspace,将返回到前一次输入状态。 (6)按Check键,输入的数字第一个数字为零。 (7)按复位键键Again,归零。 (8)由于M组合键没有实现其功能,所以暂不能用,待更进一步研究。 (8)第三、四步可以重复操作。 2、数据结构: 面板:数字等按键面板calckeysPanel,功能键面板calmsPanel,M组合键面板MKpanel,组合面板panel1,整体布局:top 第一个数firstDigit,运算结果resultNum,运算符operator,文本行组件result 3、主要事件处理: 1、数字输入及小数点事件,输入后直接显示在文本行。 2、双目运算符输入事件:输入后,保存第一个数,同时保存运算符。 3、单目运算符和等于符=输入事件:保存第二个数,取出原有数据和 运算符算出结果,并显示在文本行组件。 4、处理Backspace键被按下事件。 5、以上几类事件都归为行为类对象ActionListener. 负责部分的主要事件处理: 1、“+”,“-”,“*”,“/”四个双目运算符被按下,当前面没有输 入第一个数时,或当按下双目运算符后没输入第二个数就按下“=” 符,计算器不做任何反应。只有等按规则输入数字时才按正确运 算输出结果。 2、“sqrt”,“%”,“1/x”,“+/-”四个单目运算符被按下,只有 当前面输入一个数后按下单目运算符键再按“=”,才输出正确结 果。而“+/-”第一次按下时执行,第二次按下时取消。 4、简要的设计流程: 5、代码 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Calculator extends Frame implements ActionListener, WindowListener private Container container; private GridBagLayout layout; private GridBagConstraints constraints; private JTextField displayField; /计算结果显示区private String lastCommand; /保存+,-,*,/,=命令0 private double result; /保存计算结果 private boolean start; /判断是否为数字的开始private JMenuBar menubar; private JMenuItem m_exit,m2_ejz,m2_bjz; private Dialog dialog; private Label label_dialog; private JButton button_sqrt,button_plusminus,button_CE,button_cancel,button _1,button_2, button_3,button_4,button_5,button_6,button_7,button_8,butto n_9,button_0, button_plus,button_minus,button_multiply,button_divide,butt on_point, button_equal,button_log,button_tan,button_cos,button_sin,bu tton_exp; public Calculator() /构造方法设置布局、为按钮注册事件监听器 super("Calculator"); this.setLocation(240,200); this.setSize(350,300); this.setResizable(true); this.setLayout(new GridLayout(7,1); this.addmyMenu(); /调用成员方法添加菜单displayField=new JTextField(30); this.add(displayField); displayField.setEditable(true); start=true; result=0; lastCommand = "=" JPanel panel0=new JPanel(); panel0.setLayout(new GridLayout(1,4,4,4); JPanel panel1=new JPanel(); panel1.setLayout(new GridLayout(1,5,4,4); this.add(panel1); button_sqrt=new JButton("sqrt"); button_plusminus=new JButton("+/-"); button_exp=new JButton("exp"); button_CE=new JButton("退格"); button_cancel=new JButton("C"); JPanel panel2=new JPanel(); panel2.setLayout(new GridLayout(1,5,4,4); this.add(panel2); button_7=new JButton("7"); button_8=new JButton("8"); button_9=new JButton("9"); button_log=new JButton("log"); button_divide=new JButton("/");

    注意事项

    本文(计算器课程设计.docx)为本站会员(h****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开