收藏 分享(赏)

Java程序设计课程设计报告9.docx

上传人:yoyooong 文档编号:5694467 上传时间:2022-06-13 格式:DOCX 页数:8 大小:223.55KB
下载 相关 举报
Java程序设计课程设计报告9.docx_第1页
第1页 / 共8页
Java程序设计课程设计报告9.docx_第2页
第2页 / 共8页
Java程序设计课程设计报告9.docx_第3页
第3页 / 共8页
Java程序设计课程设计报告9.docx_第4页
第4页 / 共8页
Java程序设计课程设计报告9.docx_第5页
第5页 / 共8页
亲,该文档总共8页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、Java程序设计课程设计莆田学院新工科产业学院课 程 设 计课程名称:Java程序设计课程设计题 目:简易计算器学生姓名:曾佳茵2021年6月29日1. 概述 本次课程设计要求运用Java开发设计一个可以进行简单的四则运算的图形化计算器,要求此计算器能够实现基本的四则运算和清空功能,Clear按钮用于实现全部输入的清空功能,直接将显示置零。本次课程设计通过设计一个类运用成员变量和构造方法来完成计算器的设计,还增添了幂次方、正负号和开平方功能。2. 设计任务及要求设计任务利用 Java 开发一个可以进行简单的四则运算的图形化计算器,主程序所在的类名必须为CalculatorXXX(XXX为学号末

2、3位)。要求1、 参考界面设计图如下,允许根据功能自行设计界面。2、要求计算器至少能够实现基本的加减乘除运算和清空功能。3、Clear按钮用于实现全部输入的清空操作,直接将显示置零。4、请自行添加扩展功能。5、提交项目工程文件及打包发布的.jar或.exe6、提交课程设计报告。3. 设计方案成员变量设计构造方法设计其他成员方法设计 this.addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)System.exit(0); ); ButtonListener b1 = new ButtonLi

3、stener(); for(int i=0; i12; i+) b_numi.addActionListener(b1); for(int i=0; i8; i+) b_operi.addActionListener(b1); class ButtonListener implements ActionListenerprivate String lastOp;private String strVal; private double total; private double number; private boolean firsttime; private boolean operato

4、rPressed;ButtonListener()firsttime = true;strVal = ; public void actionPerformed(ActionEvent e)String s = (Button)e.getSource().getLabel().trim();if(Character.isDigit(s.charAt(0)handleNumber(s); else calculate(s); void calculate(String op)operatorPressed = true;if(firsttime&! isUnary(op)total = getN

5、umberOnDisplay();firsttime = false; if(isUnary(op)handleUnaryOp(op); else if(lastOp != null)handleBinaryOp(lastOp); if(! isUnary(op)lastOp = op; boolean isUnary(String s)return s.equals(=)|s.equals(Clear)|s.equals(sqrt)|s.equals(+/-)|s.equals(.);void handleUnaryOp(String op)if(op.equals(+/-)number =

6、 negate(getNumberOnDisplay() + );t_result.setText();t_result.setText(number + ); return; else if(op.equals(.)handleDecPoint();return;else if(op.equals(sqrt)number = Math.sqrt(getNumberOnDisplay();t_result.setText(); t_result.setText(number + ); return; else if(op.equals(=)if(lastOp!= null & !isUnary

7、(lastOp)handleBinaryOp(lastOp);lastOp = null;firsttime = true;return;elseclear();void handleBinaryOp(String op)if(op.equals(+)total +=number;else if(op.equals(-)total -=number;else if(op.equals(*)total *=number;else if(op.equals(/)trytotal /=number;catch(ArithmeticException ae)else if(op.equals(pow)

8、total = Math.pow(total, number);lastOp = null;number = 0;t_result.setText(total + );/该方法用于处理数字按钮void handleNumber(String s)if(!operatorPressed)strVal += s;elseoperatorPressed = false;strVal = s;number = new Double(strVal).doubleValue();t_result.setText();t_result.setText(strVal);/该方法用于按下.按钮void hand

9、leDecPoint()operatorPressed = false;if(strVal.indexOf(.)0)strVal += .;t_result.setText();t_result.setText(strVal);/该方法用于将一个数求反double negate(String s)operatorPressed = false;if(number = (int)number)s = s.substring(0,s.indexOf(.);if(s.indexOf(-)0)strVal = - + s;elsestrVal = s.substring(1);return new D

10、ouble(strVal).doubleValue();double getNumberOnDisplay()return new Double(t_result.getText().doubleValue();/Clear按钮清除屏幕并设置所有的标识void Clear()firsttime = true;lastOp = null;strVal = ;total = 0;number = 0;t_result.setText(0);运行结果:4. 结论分析此次实验在计算按钮设计上有一定的难度,查阅资料后发现,需要用到循环语句来实现按钮的设计。对于布局的设计有了更深的掌握。5. 参考文献1使用JAVA语言编写计算器的设计研究.赵源.包头职业技术学院.2015(11)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高等教育

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报