教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 外语考试 >

【完美升级版】简单计算器设计java毕业论文

来源:网络收集 时间:2026-04-09
导读: 毕业论文,单片机论文,毕业论文设计,毕业过关论文,毕业设计,毕业设计说明,硕士论文,研究生论文 (此文档为word格式,下载后您可任意编辑修改!) 华东交通大学理工学院 课程设计报告书 所属课程名称Java语言程序设计 题目简单计算器设计 分院电信分院 专业班级1

毕业论文,单片机论文,毕业论文设计,毕业过关论文,毕业设计,毕业设计说明,硕士论文,研究生论文

(此文档为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字,全部文档内容请下载后查看。喜欢就下载吧 ……

【完美升级版】简单计算器设计java毕业论文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/116932.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)