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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

湖南工业大学Java程序设计课程设计 doc.docx

1、湖南工业大学Java程序设计课程设计 doc Java程序设计课程设计 设计说明书 科学计算器 起止日期: 2013 年 06月 24日 至 2013 年 06月 30日学生姓名XX班级计本XX学号XX成绩指导教师(签字)计算机与通信学院2013年 6月30日一课程设计目的 -1二设计任务及要求 - 2三设计内容 - 2 一)设计思路-二)可行性分析-三)需求分析 - 4四)概要模型 - 6五)详细设计 - -8 四、测试与评价 -14五、结论 -20六、致谢 -20前言人类已进入21世纪,科学技术突飞猛进,经济知识和信息产业初见端倪,特别是信息技术和网络技术的讯速发展和广泛应用,对社会的政治

2、,经济,军事,文化等领域产生越来越深刻的影响,也正在改变人们的工作,生活学习,交流方式.信息的获取,处理,交流和应用能力,已经成为人们最重要的能力之一. 在不久的将来知识经济将占世界经济发展的主导地位,国家综合国力和国际竞争能力越来越取决于教育发展,科学技术和知识创新的水平,教育在经济和社会发展过程中将呈现出越来越突出的重要作用.学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段.但是一直以来人们使用传统人工的方式管理学生成绩,填写各种表格,这种管理方式存在着许多缺点,如:效率低,保密性

3、差,另外所用其时间长,产生大量的文件和数据,这对于查找,更新和维护都带来了不少的困难. (一)课程设计的目的 随着计算机技术的飞速发展,人们已经不能满足于采用人工进行大量的计算,计算器快速的计算速度和稳定的准确率很好的满足了用户的需求,目的旨在帮助用户快速准确的得到计算结果,因此掌握java语言编程的基础知识并能熟练的运用,熟悉类声明与对象的使用,了解java语言的图形用户界面的设计知识,运用Myeclipse编写简单的计算器程序并实现其功能。(二)课设任务及要求 设计一个图形界面(GUI)的计算器应用程序,完成简单的算术运算、 设计的计算器应用程序可以完成加法、减法、乘法、除法和取余运算。且

4、有小数点、正负号、求倒数、退格和清零等功能。用鼠标单击相应的数字键和运算符号键,然后单击=按钮,窗口上方的文本框将会显示计算出来的结果,要将文本编辑框清零,可单击清零按钮(三)设计内容一)设计思路本应用程序继承自框架类(Frame),此程序不使用布局管理器,将单行输入显示文本框、各个按钮功能、计算过程显示区加入到同一个面板内,直接添加数字按钮和运算按钮以及控制按钮,同时注册按钮事件监听器。二)可行性分析所谓可行性分析就是用最小的代价在尽可能短的时间内确定问题是否能够解决。这步工作的主要是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以比较抽象的方式进行系统分析和设计的过程。

5、可行性研究的最根本任务是对以后的行动方针提出建议,以避免时间、资源、人力和金钱的浪费,推荐一个较好的解决方案,并且为工程制定一个初步的计划。1 技术可行性分析本系统采用GUI,界面设计中有用到swing组件的TextField和Button,用awt中的BorderLayout和GridLayout布局管理方式,窗体名称Calculotor继承JFrameActionListener接口并实现public void actionPerformed(ActionEvent e2)的方法。定义变量StringBuffer lin-str来显示字符串,同时定义double lin-x和lin-y变量

6、表示运算数。使用的灵活、良好的可扩展性、以及广泛实际应用,充分说明本系统在技术方面的可行性。就目前的开发技术及辅助工具来说,系统需要的功能能够快速地实现。而且目前校内建有局域网,这为系统实现校内使用提供了硬件支持。就目前使用的开发技术来说规划系统的功能目标应该能够达到;利用JSP,HTML超文本标记语言和MYSQL数据库管理系统,在规定的时间内开发工作基本能够实现需求分析中系统所要求的功能。这是个超小型的管理系统,从投入的人力,财力与物力来讲是非常之小的,只要一台电脑,这个系统就可以了。从节省人力方面,可以让管理人员从繁与复杂的工作中解脱出来,做更多的工作,可以给教学管理提高一个层次。本系统设

7、计清晰,有良好的用户接口,操作简洁,符合教务管理的工作需要,并达到操作过程中的直观、方便、实用、安全等要求,因此操作方面具有可行性。2 经济可行性分析经济可行性分析中最重要的内容之一是成本效益分析。对于一个基于计算机系统的研制项目要在经济方面评价其是否合理,成本效益分析要估计研制开发的花费并与收益(包括有形的可以用货币计数的及无形的利益)衡量比较。如果计算机和服务器在已有的情况之下,系统方案成本小,不需要投入太多的资金,其运行跟维护所费资金又少,投入使用后可以节省大量人力、物力、时间等资源,可以提高企事业单位的工作效益。反之,购置计算机、服务器等硬件设备的费用是相当贵的,在中国,劳动力的成本相

8、对来说较低,从经济上考虑,这时用人力代替电脑工作就节约了成本。所以要从现有设备来考虑运用哪种方案,经济上是可行的。3 社会上可行性分析该项目为用户自行开发,在法律方面不会存在侵犯专利权、侵犯版权等问题,完全按照合同规定的责任履行。4 工具可行性软件方面:信息时代对于软件的应用已不是人们的难题,人们在日常办公中用的计算机操作的系统等都属于软件部分。硬件方面:计算机普及到今天,人们对于它的拥有已不少见,它的硬件设备完全能够满足人们的需求,而价格也能被人们所接受三)需求分析 设计一个图形界面的计算器应用程序,完成简单的算术过程,设计的计算器应用程序除了普通的加,减,乘,除外,还设计有算术平方根,求倒

9、数,正切,正弦,余弦,立方等功能,程序主要是设计一个计算器的界面,并练习使用监听器处理数据的输入,并完成相关计算,用户可以利用鼠标点击或操作符键来完成计算的输入,计算的过程将被显示在窗口右边的文本框中四)概念模型: : 五)详细设计一 import语句,使用import语句引入java.awt.,java.awt.event.,javax.swing.,Javax.swing.border包中所有的类。Java.awt.event.*引入系统事件类包import javax.swing.*;二,定义一个Calculotor类来继承Frame类public class Calculotor ex

10、tends Frame / 声明三个面板的布局 GridLayout lin_1, lin_2, lin_3; Panel lin_p0, lin_p1, lin_p2, lin_p3; JTextField lin_Jtf1; /TextField lin_tf2; Button lin_b0, lin_b2, lin_b3,lin_b4, lin_b5, lin_b6, lin_b7, lin_b8, lin_b9, lin_b10, lin_b11, lin_b12,lin_b13, lin_b14, lin_b15, lin_b16, lin_b17, lin_b18, lin_b19

11、, lin_b20, lin_b21, lin_b22, lin_b23, lin_b24, lin_b25, lin_b26; StringBuffer lin_str;/ 显示屏所显示的字符串 double lin_x, lin_y;/ x和y都是运算数 int lin_z;/ Z表示单击了那一个运算符.0表示+,1表示-,2表示*,3表示/ static double lin_m;/ 记忆的数字 public Calculotor() setTitle(科学计算器); lin_1 = new GridLayout(1, 4, 10, 0);/ 实例化三个面板的布局 lin_2 = new

12、 GridLayout(4, 1, 0, 15); lin_3 = new GridLayout(4, 5, 10, 15); lin_Jtf1 = new JTextField(27); lin_Jtf1.setHorizontalAlignment(JTextField.RIGHT); lin_Jtf1.setEnabled(false); lin_Jtf1.setText(欢迎使用); lin_b0 = new Button(Backspace); lin_b0.setForeground(Color.red); lin_b0.addActionListener(new Bt(); li

13、n_b2 = new Button(C); lin_b2.setForeground(Color.red); lin_b2.addActionListener(new Bt(); lin_b3 = new Button(tan); lin_b3.setForeground(Color.red); lin_b3.addActionListener(new Bt(); lin_b4 = new Button(x*3); lin_b4.setForeground(Color.red); lin_b4.addActionListener(new Bt(); lin_b5 = new Button(co

14、s); lin_b5.setForeground(Color.red); lin_b5.addActionListener(new Bt(); lin_b6 = new Button(sin);/m+=sin lin_b6.setForeground(Color.red); lin_b6.addActionListener(new Bt(); lin_b7 = new Button(7); lin_b7.setForeground(Color.blue); lin_b7.addActionListener(new Bt(); lin_b8 = new Button(8); lin_b8.set

15、Foreground(Color.blue); lin_b8.addActionListener(new Bt(); lin_b9 = new Button(9); lin_b9.setForeground(Color.blue); lin_b9.addActionListener(new Bt(); lin_b10 = new Button(/); lin_b10.setForeground(Color.red); lin_b10.addActionListener(new Bt(); lin_b11 = new Button(sqrt); lin_b11.setForeground(Col

16、or.blue); lin_b11.addActionListener(new Bt(); lin_b12 = new Button(4); lin_b12.setForeground(Color.blue); lin_b12.addActionListener(new Bt(); lin_b13 = new Button(5); lin_b13.setForeground(Color.blue); lin_b13.addActionListener(new Bt(); lin_b14 = new Button(6); lin_b14.setForeground(Color.blue); li

17、n_b14.addActionListener(new Bt(); lin_b15 = new Button(*); lin_b15.setForeground(Color.red); lin_b15.addActionListener(new Bt(); lin_b16 = new Button(%); lin_b16.setForeground(Color.blue); lin_b16.addActionListener(new Bt(); lin_b17 = new Button(1); lin_b17.setForeground(Color.blue); lin_b17.addActi

18、onListener(new Bt(); lin_b18 = new Button(2); lin_b18.setForeground(Color.blue); lin_b18.addActionListener(new Bt(); lin_b19 = new Button(3); lin_b19.setForeground(Color.blue); lin_b19.addActionListener(new Bt(); lin_b20 = new Button(-); lin_b20.setForeground(Color.red); lin_b20.addActionListener(ne

19、w Bt(); lin_b21 = new Button(1/X); lin_b21.setForeground(Color.blue); lin_b21.addActionListener(new Bt(); lin_b22 = new Button(0); lin_b22.setForeground(Color.blue); lin_b22.addActionListener(new Bt(); lin_b23 = new Button(+/-); lin_b23.setForeground(Color.blue); lin_b23.addActionListener(new Bt();

20、lin_b24 = new Button(.); lin_b24.setForeground(Color.blue); lin_b24.addActionListener(new Bt(); lin_b25 = new Button(+); lin_b25.setForeground(Color.red); lin_b25.addActionListener(new Bt(); lin_b26 = new Button(=); lin_b26.setForeground(Color.red); lin_b26.addActionListener(new Bt(); / 实例化四个面板 lin_

21、p0 = new Panel(); lin_p1 = new Panel(); lin_p2 = new Panel(); lin_p3 = new Panel(); / 创建一个空字符串缓冲区 lin_str = new StringBuffer();面板lin_p0中包括显示操作结果的文本区,lin_p1中包括退格按钮Backspace,本次清除按钮C。lin_p2中包括数字按钮0,1,2,3,4,5,6,7,8,9小数点按钮. ,除号按钮(/),求根按钮sqrt,乘号按钮*,求余按钮%,减号按钮-,求倒数按钮1/x,正负号按钮+/-),加号按钮+,等号按钮=. lin_p4中包含求tan

22、,x*3,cos,sin的运算符。 / 添加面板p0中的组件和设置其在框架中的位置和大小 lin_p0.add(lin_Jtf1); lin_p0.setBounds(10, 25, 300, 40); / 添加面板p1中的组件和设置其在框架中的位置和大小 lin_p1.setLayout(lin_1); lin_p1.add(lin_b0); lin_p1.add(lin_b2); lin_p1.setBounds(10, 65, 300, 25); / 添加面板p2中的组件并设置其的框架中的位置和大小 lin_p2.setLayout(lin_2); lin_p2.add(lin_b3);

23、 lin_p2.add(lin_b4); lin_p2.add(lin_b5); lin_p2.add(lin_b6); lin_p2.setBounds(10, 110, 40, 150); / 添加面板p3中的组件并设置其在框架中的位置和大小 lin_p3.setLayout(lin_3);/ 设置p3的布局 lin_p3.add(lin_b7); lin_p3.add(lin_b8); lin_p3.add(lin_b9); lin_p3.add(lin_b10); lin_p3.add(lin_b11); lin_p3.add(lin_b12); lin_p3.add(lin_b13)

24、; lin_p3.add(lin_b14); lin_p3.add(lin_b15); lin_p3.add(lin_b16); lin_p3.add(lin_b17); lin_p3.add(lin_b18); lin_p3.add(lin_b19); lin_p3.add(lin_b20); lin_p3.add(lin_b21); lin_p3.add(lin_b22); lin_p3.add(lin_b23); lin_p3.add(lin_b24); lin_p3.add(lin_b25); lin_p3.add(lin_b26); lin_p3.setBounds(60, 110,

25、 250,150); / 设置框架中的布局为空布局并添加4个面板 setLayout(null); add(lin_p0); add(lin_p1); add(lin_p2); add(lin_p3); setResizable(false);/ 禁止调整框架的大小 / 匿名类关闭窗口 addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e1) System.exit(0); ); setBackground(Color.yellow); setBounds(100, 100, 320, 280

26、); setVisible(true); 四 处理按钮事件 / 构造监听器 class Bt implements ActionListener public void actionPerformed(ActionEvent e2) double d=0; try if (e2.getSource() = lin_b2)/ 选择C清零 lin_Jtf1.setText(0);/ 把显示屏清零 lin_str.setLength(0); else if (e2.getSource() = lin_b23)/ 单击+/-选择输入的运算数是正数还是负数 lin_x = Double.parseDou

27、ble(lin_Jtf1.getText().trim(); lin_Jtf1.setText( + (-lin_x); else if (e2.getSource() = lin_b25)/ 单击加号按钮获得x的值和z的值并清空y的值 lin_x = Double.parseDouble(lin_Jtf1.getText().trim(); lin_str.setLength(0);/ 清空缓冲区以便接收新的另一个运算数 lin_y = 0d; lin_z = 0; else if (e2.getSource() = lin_b20)/ 单击减号按钮获得x的值和z的值并清空y的值 lin_x

28、 = Double.parseDouble(lin_Jtf1.getText().trim(); lin_str.setLength(0); lin_y = 0d; lin_z = 1; else if (e2.getSource() = lin_b15)/ 单击乘号按钮获得x的值和z的值并清空y的值 lin_x = Double.parseDouble(lin_Jtf1.getText().trim(); lin_str.setLength(0); lin_y = 0d; lin_z = 2; else if (e2.getSource() = lin_b10)/ 单击除号按钮获得x的值和z的值并空y的值 lin_x = Double.parseDouble(lin_Jtf1.getText().trim(); lin_str.setLength(0); lin_y = 0d; lin_z = 3;

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

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