ImageVerifierCode 换一换
格式:DOC , 页数:38 ,大小:395KB ,
资源ID:3959881      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-3959881.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(SWT计算器的设计与实现Word文档格式.doc)为本站会员(wj)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

SWT计算器的设计与实现Word文档格式.doc

1、布置任务,查找资料、需求分析1天总体设计1天详细设计1.5天编制源程序实现3.5天测试与修改1天撰写课设报告2天六、主要参考资料1 张广彬. Java课程设计案例精编(第二版).北京:清华大学出版社, 2011. 2 耿祥义. Java课程设计(第二版).北京:清华大学出版社, 2008.3 耿祥义JAVA大学实用教程北京:4 邹林达陈国君 Java2程序设计基础北京:清华大学出版社,20105 邹林达Java2程序设计基础实验指导北京:清华大学,2010指导教师(签名): 20 年 月 日目 录1需求与总体设计11.1计算器需求分析11.2功能描述11.3系统功能图11.3系统主要类图22详

2、细设计32.1类32.2成员变量32.3方法42.4详细类图43编码实现53.1计算器详细代码实现54系统测试284.1界面测试284.2计算器功能测试284.2.1四则运算284.2.2三角函数运算294.2.3特殊运算294.2.4计算过程清除304.2.5计算过程保存304.2.6关于计算机说明31总结32(要求:目录题头用三号黑体字居中书写,隔行书写目录内容。目录中各级题序及题标用小四号黑体字)1需求与总体设计1.1计算器需求分析为了减轻人们日益繁琐的工作压力和负担,实现高效统计和运算,在普通计算器上加入更多样更便捷的功能势在必行,普通计算器上加入三角函数功能和保存功能,可以大大减轻会

3、计以及财务部门统计账目的压力。此次逻辑算术设计实践,利用java面向对象程序设计和SWT技术针对该程序显示GUI用户界面,能实现四则运算以及扩展函数运算,并用图形界面实现。够培养我们严谨务实的工作态度以及提高我们分析问题和解决问题的能力,也对于巩固和加深对面向对象程序设计的基本概念、基本理论和实现技术的理解起到了一定的意义。1.2功能描述(1)单击“计算器”上的数字按钮(0、1、2、3、4、5、6、7、8、9)可以设置参与计算的运算数。(2)单击“计算器”上的运算符按钮(+、-、*、/)可以选择运算符号。(3)单击“计算器”上的函数按钮可以计算出相应的函数值。(4)单击“计算器”上的“=”按钮

4、显示计算结果。(5)单击“保存”按钮可以将文本区中的全部计算过程保存到文件:1.3功能图如下:结果清除复制显示框内容保存计算过程显示运算结果函数计算加、减、乘、除计算错 图1-1系统主要功能图1.4系统主要类图Class Calc() 显示“+”“”按钮显示“*”“/”按钮显示Sin按钮显示Cos按钮显示Tan按钮显示退格按钮显示数字0-9按钮显示清除按钮显示结果文本框显示计算过程显示文本框四则运算函数运算特殊运算计算过程保存、清楚计算过程复制到剪贴板main()显示按钮数据计算计算过程保存、清除 图1-2系统主要类图2详细设计2.1类clas calc:该类是程序的主类,显示了界面窗口,数据

5、计算,计算过程保存、复制到剪贴板,以下是该类的说明。2.2成员变量l DecimalFormat df 设置数据输出精度(对于double型值)l boolean clickable 控制当前能否按键l double memory 内存中存储的double型数字l int memory 内存中存储的int型数字l double vard, 用来保存double型数据的中间值l double answerd 用来保存最后结果l short key 用来保存当前进行何种运算,l short prekey 用来保存前次进行何种运算l int w=0 按钮前一动作为结果运算动作,比如“=”或是开方l

6、int w=1 按钮前一动作为数值输出或是“-/+”l String mid 中间运算过程记录值l Display d 与系统交互类实例l Shell s 容器窗口实例l Text textanswer 计算结果显示框l Text t2 计算过程显示窗口l Menu m 菜单bar实例l Menu filemenu 菜单变量l MenuItem bzx “标准型”菜单项目变量l Button b0 b9 数字键0到9l Button buttonSave 保存键按钮,保存计算过程l Button buttonCopy 复制键按钮,复制计算过程到剪贴板l Button buttonSqart 开

7、方键按钮,进行开方运算l Button buttonMod “%”键按钮,进行模运算l Button buttonDot 小数点按钮l Button butonAdd buttonSub buttonMul buttonDiv “+” “-” “*” “/”键按钮,进行加减乘除运算l Button buttonSin buttonCos buttonAsin buttonAcos buttonLog “sin”cos”asin”acos”按钮,进行三角函数运算2.3方法calc()是程序的主要方法,负责构造友好界面窗口,显示按钮、文本框,调用监听器进行按钮功能判断监听,实施四则运算和特殊函数,

8、显示运算结果,保存运算结果到文件和剪贴板。2.4详细类图 Class CalcDecimalFormat df boolean clickabledouble memory int memorydouble vard, double answerdshort key short prekeyint w String midText textanswer Menu filemenuDisplay d Shell s Menu m MenuItem bzx Button b0 b9Button buttonSave buttonCopybuttonSqart buttonMod buttonDot

9、 butonAdd buttonSub buttonMul buttonDivButton buttonSin buttonCos buttonAsin buttonAcos buttonLogCalc()Class main()calc ssclass calc 图2-1系统详细类图3编码实现3.1计算器详细代码实现package ZY04;import java.text.DecimalFormat;import java.awt.Color;import java.io.*;import java.lang.NumberFormatException;import org.eclipse

10、.swt.*;import org.eclipse.swt.events.*;import org.eclipse.swt.graphics.*;import org.eclipse.swt.layout.*;import org.eclipse.swt.widgets.*;public class calc DecimalFormat df = new DecimalFormat(0.#); /设置数据输出精度(对于double型值) boolean clickable; /控制当前能否按键 double memoryd; /内存中存储的double型数字 int memoryi;/内存中存

11、储的int型数字 double vard, answerd; /用来保存double型数据的中间值(vard)和最后结果(answerd) short key = -1, prekey = -1; /key用来保存当前进行何种运算,prekey用来保存前次进行何种运算 int w=0;/w=1,按钮前一动作为结果运算动作,比如“=”或是开方,w=0,按钮前一动作为数值输出或是“-/+” String mid=;/中间运算过程记录值Display d;Shell s;calc()d=new Display();s=new Shell(d);s.setSize(220,380);s.setImag

12、e(new Image(d,c:123.jpg);s.setText(计算器/* /设置菜单Menu m=new Menu(s,SWT.BAR);/创建查看菜单项final MenuItem file = new MenuItem(m,SWT.CASCADE);file.setText(查看(v)final Menu filemenu =new Menu(s,SWT.DROP_DOWN);file.setMenu(filemenu);final MenuItem bzx=new MenuItem(filemenu,SWT.RADIO);bzx.setSelection(true);bzx.se

13、tText(标准型(T) Alt+1final MenuItem kxx=new MenuItem(filemenu,SWT.RADIO);kxx.setText(科学型 (S) Alt+2final MenuItem cxy=new MenuItem(filemenu,SWT.RADIO);cxy.setText(程序员 (P) Alt+3final MenuItem tjxx=new MenuItem(filemenu,SWT.RADIO);tjxx.setText(统计信息(A) Alt+4final MenuItem separator1 =new MenuItem(filemenu,

14、SWT.SEPARATOR);/分割线final MenuItem lsjl=new MenuItem(filemenu,SWT.CHECK);lsjl.setText(历史记录(Y) Ctrl+Hfinal MenuItem szfz=new MenuItem(filemenu,SWT.CHECK);szfz.setText(数字分组(I)final MenuItem separator2 =new MenuItem(filemenu,SWT.SEPARATOR);final MenuItem jb=new MenuItem(filemenu,SWT.RADIO);jb.setSelecti

15、on(true);jb.setText(基本(B) Ctrl+F4final MenuItem dwzh=new MenuItem(filemenu,SWT.RADIO);dwzh.setText(单位转换(U) Ctrl+Ufinal MenuItem rqjs=new MenuItem(filemenu,SWT.RADIO);rqjs.setText(日期计算(D) Ctrl+E/创建工作表子菜单final MenuItem gzb=new MenuItem(filemenu,SWT.CASCADE);gzb.setText(工作表(W)final Menu submenu=new Men

16、u(s,SWT.DROP_DOWN);gzb.setMenu(submenu);final MenuItem dy=new MenuItem(submenu,SWT.RADIO);dy.setText(抵押(M)final MenuItem qczl=new MenuItem(submenu,SWT.RADIO);qczl.setText(汽车租赁(V)final MenuItem yh1=new MenuItem(submenu,SWT.RADIO);yh1.setText(油耗(mpg)(F)final MenuItem yh2=new MenuItem(submenu,SWT.RADIO

17、);yh2.setText(油耗(1/100km)(U)/创建编辑菜单final MenuItem edit = new MenuItem(m,SWT.CASCADE);edit.setText(编辑(E)final Menu editmenu =new Menu(s,SWT.DROP_DOWN);edit.setMenu(editmenu);final MenuItem fz=new MenuItem(editmenu,SWT.PUSH);fz.setText(复制(C) Ctrl+Cfinal MenuItem zt=new MenuItem(editmenu,SWT.PUSH);zt.s

18、etText(粘贴 (V) Ctrl+Vfinal MenuItem separator3 =new MenuItem(filemenu,SWT.SEPARATOR);final MenuItem lsjl1=new MenuItem(editmenu,SWT.CASCADE);lsjl1.setText(历史记录(H)final Menu submenu1=new Menu(s,SWT.DROP_DOWN);lsjl1.setMenu(submenu1);final MenuItem fzlsjl=new MenuItem(submenu1,SWT.PUSH);fzlsjl.setText(

19、复制历史记录(I)final MenuItem bj=new MenuItem(submenu1,SWT.PUSH);bj.setText(编辑(E) F2final MenuItem qxbj=new MenuItem(submenu1,SWT.PUSH);qxbj.setText(取消编辑(N) Escfinal MenuItem qc=new MenuItem(submenu1,SWT.PUSH);qc.setText(清楚(L) Ctrl+Shift+D/创建帮助菜单final MenuItem help = new MenuItem(m,SWT.CASCADE);help.setTe

20、xt(帮助(H)/创建帮助菜单final Menu helpmenu =new Menu(s,SWT.DROP_DOWN);help.setMenu(helpmenu);final MenuItem ckbz=new MenuItem(helpmenu,SWT.PUSH);ckbz.setText(查看帮助(V) F1final MenuItem about=new MenuItem(helpmenu,SWT.PUSH);about.setText(关于计算机A) s.setMenuBar(m);/界面采用网格布局,5栏*GridLayout gl=new GridLayout();gl.nu

21、mColumns=5;s.setLayout(gl);/创建计算窗口,设置样式 Final Texttext Answer=newText(s,SWT.SINGLE|SWT.BORDER|SWT.READ_ONLY | SWT.RIGHT); textAnswer.setText( GridData gd=new GridData(GridData.FILL_BOTH); gd.horizontalSpan=5; textAnswer.setLayoutData(gd); /创建显示计算过程窗口,设置样式 final Text t2 = new Text(s,SWT.MULTI |SWT.BO

22、RDER|SWT.READ_ONLY | SWT.RIGHT | SWT.V_SCROLL | SWT.FocusOut); gd=new GridData(GridData.FILL_BOTH); gd.horizontalSpan=4; gd.verticalSpan=3; t2.setLayoutData(gd); /创建复制、保存、清除按钮,对t2操作,由后方监听器实现 final Button buttonCopy=new Button(s,SWT.PUSH); buttonCopy.setText(复制 final Button buttonSave=new Button(s,SWT.PUSH); buttonSave.setText(保存 final Button buttonClear=new Button(s,SWT.PUSH); buttonClear.setText(清除 /创建三角函数按钮 final Button buttonLog=new Button(s,SWT.PUSH); buttonLog.setText(log final Button buttonSin=new Button(s,SWT.PUSH); buttonSin.setText(sin final Button buttonCos=new But

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2