【完美升级版】简单计算器设计java毕业论文
毕业论文,单片机论文,毕业论文设计,毕业过关论文,毕业设计,毕业设计说明,硕士论文,研究生论文
(此文档为word格式,下载后您可任意编辑修改!)
华东交通大学理工学院
课程设计报告书
所属课程名称Java语言程序设计
题目简单计算器设计
分院电信分院
专业班级12通信工程1班
学生姓名
指导教师
毕业论文,单片机论文,毕业论文设计,毕业过关论文,毕业设计,毕业设计说明,硕士论文,研究生论文
2014 年6 月20日
毕业论文,单片机论文,毕业论文设计,毕业过关论文,毕业设计,毕业设计说明,硕士论文,研究生论文
目录
第1章计算器机要求与内容 (3)
第2章计算器设计 (4)
第3章计算器程序代码 (14)
第4章计算器测试 (49)
第5章课程设计心得 (53)
第6章参考文献 (54)
毕业论文,单片机论文,毕业论文设计,毕业过关论文,毕业设计,毕业设计说明,硕士论文,研究生论文
第1章计算器内容及要求
一设计内容:
1. 实现基本的加减乘除法的运算;
2 实现常用的函数计算功能;
3. 实现将系统时间在界面上显示;
4. 实现菜单对计算器的关闭、开启及设置运算法则的操作。
二设计要求
1.使用菜单控制计算器界面的显示,关闭;
2.使用菜单控制运算的法则;
3.使用菜单显示函数运算窗口及运算;
4.数据采用手工输入方式;
5.对异常的数据进行异常处理,比如10的情况。
第2章计算器设计
一.设计模式
采用MVC设计模式,将模型,视图,控制分别单独完成。在模型中将视图,控制添加到其中,再分别完成视图的,控制的程序。
二.结构设计
在界面中分为四个视图的组件,控制分为按钮事件,菜单选择事件,以及键盘输入控制事件。如图1
图1
在界面的布局上采用网格布局,将分别装填时间布局组件,操作模式
毕业论文,单片机论文,毕业论文设计,毕业过关论文,毕业设计,毕业设计说明,硕士论文,研究生论文
布局组件,运算布局组件,结果布局组件。如图3
组件上的相对应控件相应的事件分别封装按钮事件,菜单项选择事件,键盘输入事件。选择相应的控件,产生对应的响应事件。各组件对应控件的响应事件对应如图2。
图3
三.代码设计
本程序共有六个包wgr.constant,wgr.entry, wgr.event,yout,wgr.otherlayout,wgr.thread。分别用来盛装各个组件,如图4。
毕业论文,单片机论文,毕业论文设计,毕业过关论文,毕业设计,毕业设计说明,硕士论文,研究生论文
图4
(1)wgr.constant包中有一个Constant类用来盛放程序设计中用到的字符串常量。
例如:加法,减法,乘法及运算符号等。详见代码。
(2)wgr.entry包中有个一Entry类,此类是程序的入口,也是程序的模型,所有的组件都加载到这里。
此类中定义了两个方法main和loadwidge。Loadwidge的方法获取各个组件中的控件。然后在主方法中对获得的控件添加对应的事件处理机制。例如JButton的点击事件,菜单选择菜单项等。详见代码。
(3)wgr.event包中含有四个类分别是MyButtonLisener、
MyKeyPress、
毕业论文,单片机论文,毕业论文设计,毕业过关论文,毕业设计,毕业设计说明,硕士论文,研究生论文
MyMenu_1_Listner、MyMenu_2_listener。MyButtonLisener作用是按钮的点击响应,MyKeyPress作用是键盘输入数据控制的作用,防止非法的输入,MyMenu_1_Listner的作用是对计算器菜单进行选择的响应,MyMenu_2_listener的作用是对运算模式菜单进行选择的响应,MyMenu_3_listener是对选择运算函数的监听相应。
○1MyButtonLisener中对运算组件中的“运算”按钮与返回结果组件中的“清除”按钮进行做对应的相应。此类中带有一个MyButtonLisener 的有参数构造函数,从Entry类中得到需要操作的控件,比如获得输入框的数据,获得运行模式等。继承了ActionListener接口,实现了actionPerformed方法,在响应“运算”按钮时对输入的数据进行了判断,判断是否可以进行运算,比如数据的不完整,在除法时不能除以0的情况进行了处理。详见代码。
下面是点击运行时对输入的数据进行判断是否为空,当不为空时再根据计算模式进行计算。
if ((textField_shuru1.getText().toString() != null)
&& (textField_shuru1.getText().toString() != null)) 当有空时将有提示对话框
else {
JOptionPane.showMessageDialog(jFrame, "输入的数据不可以为空", "警告",
JOptionPane.OK_OPTION);
}
毕业论文,单片机论文,毕业论文设计,毕业过关论文,毕业设计,毕业设计说明,硕士论文,研究生论文
在进行除法的运算是,会判断被除数是否为零,如果是会弹出一个提示对话框
运算除法时需要对输入的数据进行处理,判断是否不能进行运算
if (simble.equals(Constant.DIVISION)) {
if (shuru2 != 0.0) {
textField_jieguo.setText(String.valueOf(shuru1
shuru2));
} else {
JOptionPane
.showConfirmDialog(jFrame, "输入有误,不可以除以 0",
"提示", JOptionPane.OK_OPTION);
}
}
点击“清空”按钮时会将所有的数据清空
else if (e.getSource().equals(button_clear)) { 将数据清空的按钮
毕业论文,单片机论文,毕业论文设计,毕业过关论文,毕业设计,毕业设计说明,硕士论文,研究生论文
textField_shuru1.setText(null);
textField_shuru2.setText(null);
textField_jieguo.setText(null);
}
○2 MyKeyPress是对输入框输入数据进行了处理,阻止非法的输入,此类继承了KeyListener接口,实现了keyPressed方法,此类有一个MyKeyPress含有参数的构造方法,用来获得需要的控件。
详见代码。构造函数,获得面板的需要进行操作的控件
public MyKeyPress(JFrame frame, JTextField textField_shuru1,
JTextField textField_shuru2) {
this.frame = frame;
this.textField_shuru1 = textField_shuru1;
this.textField_shuru2 = textField_shuru2;
}
对非法的输入将弹出提示对话框,然后清除非法的输入。
if ((KeyEvent.VK_0 <= e.getKeyChar() && e.getKeyChar() <= KeyEvent.VK_9)
|| (e.getKeyChar() == KeyEvent.VK_BACK_SPACE)
|| (e.getKeyChar() == KeyEvent.VK_ENTER)
|| (e.getKeyChar() == KeyEvent.VK_PERIOD)) {
} else {
JOptionPane.showConfirmDialog(frame, "输入有误", "提示",
JOptionPane.OK_CANCEL_OPTION);
毕业论文,单片机论文,毕业论文设计,毕业过关论文,毕业设计,毕业设计说明,硕士论文,研究生论文
○3 MyMenu_1_Listner是对计算器菜单进行选择的操作事件,此类继承了ActionListener接口,实现actionPerformed了方法。对“开启计算器”,“关闭计算器”,“退出”的菜单项进行了实现。详见代码。
选择“开启计算器”时,就将运算模式组件,运算组件,返回结果组件的setV …… 此处隐藏:3444字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [外语考试]管理学 第13章 沟通
- [外语考试]07、中高端客户销售流程--分类、筛选讲
- [外语考试]2015-2020年中国高筋饺子粉市场发展现
- [外语考试]“十三五”重点项目-汽车燃油表生产建
- [外语考试]雅培奶粉培乐系列适用年龄及特点
- [外语考试]九三学社入社申请人调查问卷
- [外语考试]等级薪酬体系职等职级表
- [外语考试]货物买卖合同纠纷起诉状(范本一)
- [外语考试]青海省实施消防法办法
- [外语考试]公交车语音自动报站系统的设计第3稿11
- [外语考试]logistic回归模型在ROC分析中的应用
- [外语考试]2017-2021年中国隔膜泵行业发展研究与
- [外语考试]神经内科下半年专科考试及答案
- [外语考试]园林景观设计规范标准
- [外语考试]2018八年级语文下册第一单元4合欢树习
- [外语考试]分布式发电及微网运行控制技术应用
- [外语考试]三人行历史学笔记:中世纪人文主义思想
- [外语考试]2010届高考复习5年高考3年联考精品历史
- [外语考试]挖掘机驾驶员安全生产责任书
- [外语考试]某211高校MBA硕士毕业论文开题报告(范
- 用三层交换机实现大中型企业VLAN方案
- 斯格配套系种猪饲养管理
- 涂层测厚仪厂家直销
- 研究生学校排行榜
- 鄱阳湖湿地景观格局变化及其驱动力分析
- 医学基础知识试题库
- 2010山西省高考历年语文试卷精选考试技
- 脉冲宽度法测量电容
- 谈高职院校ESP教师的角色调整问题
- 低压配电网电力线载波通信相关技术研究
- 余额宝和城市商业银行的转型研究
- 篮球行进间运球教案
- 气候突变的定义和检测方法
- 财经大学基坑开挖应急预案
- 高大支模架培训演示
- 一种改进的稳健自适应波束形成算法
- 2-3-鼎视通核心人员薪酬股权激励管理手
- 我国电阻焊设备和工艺的应用现状与发展
- MTK手机基本功能覆盖测试案例
- 七年级地理教学课件上册第四章第一节




