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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(二级课题二级实践课题计算器设计及开发.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

二级课题二级实践课题计算器设计及开发.docx

1、二级课题二级实践课题计算器设计及开发中原工学院二 级 课 题 实 训 任 务 书2011年6月13日学生姓名司伟奇学号2专 业计算机应用(软件测试及维护方向)班级测试102课题名称计算器设计及开发课题来源二级实训模拟课题指导教师郭彦宾专业计算机科学及技术职称集成项目经理课题说明:本次课题主要完成了计算器的标准型和科学型。标准型实现了基本的加减乘除以及开方,求倒数等功能。科学型在标准型的基础上又进一步增加了一些函数和进制之间转换的功能。其中函数有正弦函数,余弦函数,正切函数,对数函数和指数函数。进制主要有十进制,十六进制,八进制,二进制。又增加了x的y次方功能,x的平方和x的三次方的功能,还有常

2、量PI和e。承担的任务:1标准型和科学型的界面设计2科学型部分运算功能的实现3测试部分功能的实现中原工学院二 级 课 题 实 训 任 务 书2011年6月14日工作进度安排:任务名称时间轴2011-6-13至2011-6-28(除周日)负责人审核人123456789101112郭彦宾总体进度30%62%8%整理资料司伟奇,陈梦龙,张海林编写代码张海林,司伟奇,陈梦龙代码测试司伟奇,张海林整理文档司伟奇指导教师签字:2011年 6 月28 日实训单位意见签章: 年 月 日学院意见签章: 年 月 日中原工学院二 级 课 题 实 训 评 审 表学号2姓名司伟奇专业计算机应用(软件测试及维护方向)班级

3、测试102题目计算器设计及开发指导教师评语成绩(百分制): 指导教师签名:2011年 6 月 28 日软件学院二级课题报告课题名称:计算器设计及开发专 业:计算机应用(软件测试及维护方向)班 级: 测试102 学 号:2学生姓名:司伟奇指导教师:郭彦斌2011年6月28日摘 要随着科学技术的不断发展,很多复杂的计算都可以通过计算机轻松的解决,本次课题开发主要让用户摆脱了手动计算复杂数据,使用户快速,方便的得到结果,大大减少了用户所花费的时间,提高了用户的效率。第一章对项目的问题描述、技术分析及工程进度计划做整体的概述。第二章深入分析了系统的各种功能需求。第三章概要阐述系统整体各功能模块的实现以

4、及测试各功能。本次二级级实践课题主要用到所学java语言针对题目的要求进行编写相应的程序,所用的语言是java语言,所用的工具是eclipse。本次课题是计算器的开发及设计,主要实现了计算器的标准和科学两个类型,标准型主要实现了加减乘除基本运算功能,科学型在标准型的基础上增加了函数、阶乘和x的平方和立方以及x的y次方。关键词: 计算器设计及开发、eclipse、J2SE第1章 项目分析计算器应用程序是基于操作系统平台之上运行的,它所实现的功能主要是进行简单的和复杂的数学运算,其目的主要是提高运算效率和准确性,方便用户更好地运用计算机进行准确高效的科学运算。经过一段时间的分析,我们小组觉得整个计

5、算器系统应该划分为两个功能模块,其一就是“标准型功能模块”,这个模块的主要的功能是实现简单的数学运算,包括加、减、乘、除最基本的数学运算和开方、求倒、求相反数等方面的功能的实现;其二就是“科学型功能模块”,这个模块的主要的功能是实现一些比较复杂的有关函数方面的运算,当然同时也包含了一些“标准型功能模块”上的一些功能,更加方便用户的计算,提高计算器的使用范围,是计算机得到更加广泛的推广。1.1 问题描述我们小组经过项目分析之后就确立了自己系统的实现思路,以及功能的实现,目标已经很明确,但是在编写代码的时候遇到了很多的问题,如下所示:1:在界面的布局的时候所选用什么样的组件,使得系统的界面更加的美

6、观;2:一些有关简单的加、减、乘、除计算方面的功能是如何实现的;3:如何实现在文本域中只有一个小数点和负号的存在;4:怎么实现二进制、十进制、十六进制、八进制之间的相互转换;5:如何实现有关函数方面的科学运算;6:怎么编写更加简洁的代码,以便于代码的执行效率达到高效的目的,提高代码的执行效率,从而也提高了运算的速率;1.2技术分析一个计算器的最最核心的部分也就是那些参及数学运算、科学运算的代码的实现,小组在编写程序的过程中也遇到了许多的障碍,也感觉到无助和迷惑,经过一段时间的思考和跟别人的探讨,找到了解决问题的办法,也从中收获了许多,在整个计算器的程序开发中的有关技术开发上的能力也得到了提高,

7、在这次课题中我就针对上述的“问题描述”进行简单的技术上的分析:在经过需求分析之后第一步要做的是系统的界面的设计,这是第一步要做的工作,只有先确立了系统的界面,才能进行下一步功能代码的编写,最终达到功能的实现,对于计算器的界面的设计,在相关的网站上也参考了许多的有关计算器的界面的布局,最终我们小组成员达成共识,以数字键和功能键进行分区设置,进行布局的管理和控制,在不断的修改中,最终实现了当前的布局;界面布局好之后进入功能模块的设计时期,在进行功能代码的实现时主要运用了ifelse语句,判断在文本域中的字符是否包含有小数点和正负号也运用了ifelse语句,调用字符类中的相关的方法,以及Math类的

8、相关方法就可以解决相关的问题。其中的核心部分就是相关的数学运算的功能的实现,在用户进行第一次数字输入的之后,一定要按下相关的运算字符按钮,这时,第一次输入的数字就存储在一个变量中,在按下运算按钮之后文本域将清空然后进行第二个要参及的数字,然后将第二次输入的数字存储在第二个变量中,然后用户必将按下等号的按钮,此时将实现相关的监听,将对运算字符按钮进行判断,之后再将两个先后存储的变量及参及运算的按钮进行运算,并将所得得结果显示在文本域中,以便于用户的需求。1.3工程进度计划任务名称时间轴2011-6-13至2011-6-28(除周日)负责人审核人123456789101112郭彦宾总体进度30%6

9、2%8%整理资料司伟奇,张海林,陈梦龙编写代码张海林,陈梦龙,司伟奇代码测试司伟奇,张海林整理文档司伟奇第2章 实现及测试主要任务是计算器标准型和科学型的界面实现以及测试科学型的部分功能。2.1标准型模块的设计2.1.1界面的设计界面上有一个菜单用于编辑,查看和帮助。下面是一个文本框用来显示输入数值和得到运算结果。对象按钮按键的名称按钮按键的说明对象按钮按键的名称按钮按键的说明文本框text显示结果按钮dao1/x按钮mcMC按钮backspaceBackspace按钮mrMR按钮ceCE按钮msMS按钮cC按钮mM+按钮num00按钮jia+按钮num11按钮jian-按钮num22按钮ch

10、eng*按钮num33按钮chu/按钮num44按钮qiuyu%按钮num55按钮deng=按钮num66按钮Ffu+/-按钮num77按钮dian.按钮num88按钮kaisqrt按钮num99 标准型计算器整体界面(图2.1.1) 复制粘贴功能(图2.1.2) 学型标准型之间的转换(图2.1.3) 进行帮助选项(图2.1.4)2.1.2界面代码的实现import javax.swing.*;import javax.swing.event.*;import java.awt.*;import java.awt.event.*;public class Calculator1 extends

11、 JFrame implements ActionListener JFrame frame=new JFrame(); private JMenu editMenu = new JMenu(编辑); private JMenu viewMenu = new JMenu(查看); private JMenu helpMenu = new JMenu(帮助); private JButton mc = new JButton(MC); private JButton mr = new JButton(MR); private JButton ms = new JButton(MS); priva

12、te JButton m = new JButton(M+); private JButton button=new JButton( ); private JButton jia=new JButton(+); private JButton jian=new JButton(-); private JButton cheng=new JButton(*); private JButton chu=new JButton(/); private JButton qiuyu=new JButton(%); private JButton deng=new JButton(=); private

13、 JButton fu=new JButton(+/-); private JButton dian=new JButton(.); private JButton kai=new JButton(sqrt); private JButton dao=new JButton(1/x); JMenuItem copy,paste,s,t,help,about,author;JButton backspace,ce,c,num0,num1,num2,num3;JButton num4,num5,num6,num7,num8,num9; Container cp; JTextField text;

14、String copycontent=; boolean clickable=true,clear=true; int all=0; double qian; String fuhao; int first=1; public Calculator1() setLayout(new BorderLayout(5,5); text=new JTextField(25); text.setText(0.); text.setHorizontalAlignment(JTextField.RIGHT);/从右到左 JPanel panel1=new JPanel(); panel1.add(text)

15、; text.setEditable(false); text.setBackground(Color.white); backspace=new JButton(Backspace); ce=new JButton(CE); c=new JButton(C); JPanel panel2 = new JPanel(new BorderLayout(5,5); panel2.add(backspace,BorderLayout.WEST); panel2.add(ce,BorderLayout.CENTER); panel2.add(c,BorderLayout.EAST); num0=new

16、 JButton(0); num1=new JButton(1) ; num2=new JButton(2); num3=new JButton(3); num4=new JButton(4); num5=new JButton(5); num6=new JButton(6); num7=new JButton(7); num8=new JButton(8); num9=new JButton(9); JPanel panel3=new JPanel(new GridLayout(4,5,5,5); panel3.add(num7); panel3.add(num8); panel3.add(

17、num9); panel3.add(chu); panel3.add(kai); panel3.add(num4); panel3.add(num5); panel3.add(num6); panel3.add(cheng); panel3.add(qiuyu); panel3.add(num1); panel3.add(num2); panel3.add(num3); panel3.add(jian); panel3.add(dao); panel3.add(num0); panel3.add(fu); panel3.add(dian); panel3.add(jia); panel3.ad

18、d(deng); JPanel panel4=new JPanel(new GridLayout(5,1,5,5); panel4.add(button); button.setEnabled(false); button.setBorder(BorderFactory.createLoweredBevelBorder(); button.setPreferredSize(new Dimension(20, 20); panel4.add(mc); panel4.add(mr); panel4.add(ms); panel4.add(m); JPanel panel5=new JPanel(n

19、ew BorderLayout(5,5); panel5.add(panel2,BorderLayout.NORTH); panel5.add(panel3,BorderLayout.CENTER); JPanel panel6=new JPanel(new BorderLayout(5,5); panel6.add(panel4,BorderLayout.WEST); panel6.add(panel5,BorderLayout.CENTER); JPanel panel7=new JPanel(new BorderLayout(5,5); panel7.add(panel1,BorderL

20、ayout.NORTH); panel7.add(panel6,BorderLayout.CENTER); add(panel7); JMenuBar mainMenu = new JMenuBar(); setJMenuBar(mainMenu); mainMenu.add(editMenu); mainMenu.add(viewMenu); mainMenu.add(helpMenu); copy = new JMenuItem( 复制); paste = new JMenuItem( 粘贴); KeyStroke copyks=KeyStroke.getKeyStroke(KeyEven

21、t.VK_C,Event.CTRL_MASK); copy.setAccelerator(copyks);/设置退出菜单选项加上快捷键KeyStroke asteks=KeyStroke.getKeyStroke(KeyEvent.VK_V,Event.CTRL_MASK); paste.setAccelerator(pasteks);/设置退出菜单选项加上快捷键 editMenu.add(copy); editMenu.add(paste); copy.addActionListener(this); paste.addActionListener(this); t = new JMenuI

22、tem(标准型); s = new JMenuItem( 科学型); viewMenu.add(t); viewMenu.add(s); t.addActionListener(this); s.addActionListener(this); help = new JMenuItem( 帮助主题); about = new JMenuItem( 关于计算器); author = new JMenuItem( 作者主页); helpMenu.add(help); helpMenu.add(about); helpMenu.add(author); help.addActionListener(

23、this); about.addActionListener(this); author.addActionListener(this); /按钮颜色 backspace.setForeground(Color.red); mc.setForeground(Color.red); mr.setForeground(Color.red); ms.setForeground(Color.red); m.setForeground(Color.red); ce.setForeground(Color.red); c.setForeground(Color.red); chu.setForegroun

24、d(Color.red); cheng.setForeground(Color.red); jian.setForeground(Color.red); jia.setForeground(Color.red); deng.setForeground(Color.red); num0.setForeground(Color.blue); num1.setForeground(Color.blue); num2.setForeground(Color.blue); num3.setForeground(Color.blue); num4.setForeground(Color.blue); nu

25、m5.setForeground(Color.blue); num6.setForeground(Color.blue); num7.setForeground(Color.blue); num8.setForeground(Color.blue); num9.setForeground(Color.blue); fu.setForeground(Color.blue); dian.setForeground(Color.blue); kai.setForeground(Color.blue); qiuyu.setForeground(Color.blue); dao.setForegroun

26、d(Color.blue); 2.2科学型模块的设计2.2.1界面的设计界面上有一个菜单用于编辑,查看和帮助。下面是一个文本框用来显示输入数值和得到运算结果,文本框下有用于进制之间进行转换的单选按钮。对象按钮按键的名称按钮按键的说明对象按钮按键的名称按钮按键的说明文本框text显示结果按钮fu+/-按钮backspaceBackspace按钮dian.按钮ceCE按钮dao1/x按钮cC按钮aaA按钮pipi按钮bbB按钮sinSin按钮ccC按钮comCos按钮ddD按钮tanTan按钮eeE按钮expExp按钮ffF按钮xyXy按钮num00按钮x3X3按钮num11按钮x2x2按钮num

27、22按钮lnln按钮num33按钮loglog按钮num44按钮njn!按钮num55按钮e1e按钮num66按钮jia+按钮num77按钮jian-按钮num88按钮cheng*按钮num99按钮chu/按钮IntInt按钮deng= 图(2.2.1)科学型计算器整体界面十进制界面(图2.2.2) 八进制界面(图2.2.3) 十六进制界面(图2.2.4) 二进制界面(图2.2.5)2.2.2界面代码的实现import javax.swing.*;import java.awt.*;import java.awt.event.*;import javax.swing.border.*; public class Calculator extends JFrame implements ActionListener JFrame frame

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1