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

    Java计算器实验报告(共5页).doc

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

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

    Java计算器实验报告(共5页).doc

    精选优质文档-倾情为你奉上大连民族大学计算机科学与工程学院Java语言课程实验报告实验题目: 计算器的设计与实现 课程名称: Java语言 实验类型:演示性 验证性 操作性 设计性 综合性专业:网络工程 班级:*学生姓名* 学号:*实验日期:2018年 4月23日地点:计算机学院综合试验中心(I-303)实验学时:4实验成绩:指导教师签字: 2018年 5月21日一、 问题需求描述:利用Java Swing设计计算器图形化界面,并实现事件的监听,以及计算器基本的加、减、乘、除、清空、输出运算结果的操作,学习使用各种图形化界面的控件,容器,布局等,学习对按钮事件的处理等。以及对非法输入的处理。二、 设计说明:Design notes本计算器,界面方面总体采用BorderLayout布局,显示输入输入的文本框和清除按钮采用FlowLayout布局,容器放在BorderLayout的North;0-9和各种运算符号还有小数点采用GridLayout布局,容器放在BorderLayou的Center;事件监听和处理通过实现addActioListener监视器接口和ItemEvent事件接口,从而对每一个按钮实现事件的监听和处理;计算方面,调用ScriptEngineManager和ScriptEngine两个类,直接通过eval函数直接把输入文本当作JS代码执行,输出执行结果,这样报错也会直接实现,另把文本框设置不允许直接从键盘输入以防止出现安全事件。 最后通过转化成JS代码运算得到启发,使用类似方法,我还实现了调用VB代码实现计算器实时读出键盘输入,发出声音。三、 系统实现:system implementation1.程序界面展示四、 总结体会: summary and experience 实验达到了预期的目标。通过此次的编程,我学会了用Java语言编写简单的软件,增强了我对学习Java的兴趣。编程过程中,总体设计主要是窗口与组件的应用,具体执行则是利用Java语言设计算法,而难点也在算法的设计上。虽然程序大体上符合要求,但由于第一次编写这么复杂的程序,程序仍然存在一-些漏洞,譬如由于未进行异常处理,当连续输入运算符是程序会出错,还有若一直按小数点的话会得到一连串的小数点。由于最近忙着考试没有时间修改,考试结束后一定认真修改这些问题。我觉得在编程时应该注意排版对齐,这样不论是自己检查程序还是别人阅读程序都会更加方便。如果能添加备注的话以后阅读程序会更容易些。在以后的编程中我会吸取经验,养成认真、严谨的编程习惯。附:程序清单1.import javax.swing.JFrame;public class Calculator public static void main(String paramArrayOfString) CalculatorFrame localCalculatorFrame = new CalculatorFrame(); localCalculatorFrame.setSize(800, 800); localCalculatorFrame.setVisible(true); 2import java.awt.Container;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import javax.swing.JFrame;class CalculatorFrame extends JFrame public CalculatorFrame() setTitle("Calculator"); setSize(200, 200); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent paramAnonymousWindowEvent) System.exit(0); ); Container localContainer = getContentPane(); localContainer.add(new CalculatorPanel(); 3. import java.awt.BorderLayout;import java.awt.Color;import java.awt.Container;import java.awt.Font;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JPanel;import javax.swing.JTextField;class CalculatorPanel extends JPanel implements ActionListener private JTextField display; public CalculatorPanel() setLayout(new BorderLayout(); this.display = new JTextField(); this.display.setEditable(false); this.display.setFont(this.font); this.display.setBackground(Color.orange); add(this.display, "North"); JPanel localJPanel = new JPanel(); localJPanel.setLayout(new GridLayout(4, 4, 5, 5); String arrayOfString = "7", "8", "9", "/", "4", "5", "6", "*", "1", "2", "3", "-", "0", ".", "=", "+" ; for (int i = 0; i < arrayOfString.length; i+) addButton(localJPanel, arrayOfStringi); add(localJPanel, "Center"); private void addButton(Container paramContainer, String paramString) JButton localJButton = new JButton(paramString); localJButton.setFont(this.font); paramContainer.add(localJButton); localJButton.addActionListener(this); public void actionPerformed(ActionEvent paramActionEvent) String str = paramActionEvent.getActionCommand(); if ('0' <= str.charAt(0) && (str.charAt(0) <= '9') | (str.equals(".") if (this.start) this.display.setText(str); else this.display.setText(this.display.getText() + str); this.start = false; else if (this.start) if (str.equals("-") this.display.setText(str); this.start = false; else this.op = str; else double d = Double.parseDouble(this.display.getText(); calculate(d); this.op = str; this.start = true; public void calculate(double paramDouble) if (this.op.equals("+") this.arg += paramDouble; else if (this.op.equals("-") this.arg -= paramDouble; else if (this.op.equals("*") this.arg *= paramDouble; else if (this.op.equals("/") this.arg /= paramDouble; else if (this.op.equals("=") this.arg = paramDouble; this.display.setText("" + this.arg); 专心-专注-专业

    注意事项

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

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




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

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

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

    收起
    展开