课程设计--计算带变量的数学表达式程序

上传人:aa****6 文档编号:38392495 上传时间:2018-05-01 格式:DOCX 页数:17 大小:40.29KB
返回 下载 相关 举报
课程设计--计算带变量的数学表达式程序_第1页
第1页 / 共17页
课程设计--计算带变量的数学表达式程序_第2页
第2页 / 共17页
课程设计--计算带变量的数学表达式程序_第3页
第3页 / 共17页
课程设计--计算带变量的数学表达式程序_第4页
第4页 / 共17页
课程设计--计算带变量的数学表达式程序_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《课程设计--计算带变量的数学表达式程序》由会员分享,可在线阅读,更多相关《课程设计--计算带变量的数学表达式程序(17页珍藏版)》请在金锄头文库上搜索。

1、1工学系课程设计报告工学系课程设计报告设设 计计 题题 目:目:计算带变量的数学表达式程序计算带变量的数学表达式程序 系系 别:别:工学系工学系 专专 业业 ( (方方 向向) ):信息管理与信息系统信息管理与信息系统 年年 级、级、 班:班:2012 级本科级本科(1)(1)班班 2014 年年 6 月月 30 日日2目录目录一、系统开发的背景1二、系统分析与设计3(一)系统功能要求4(二)系统模块结构设计4三、系统的设计与实现5 四、系统测试5 五、总结6 六、附件(源代码)7带变量的数学运算表达式带变量的数学运算表达式3一、一、系统开发的背景系统开发的背景在我们日常生活中,计算开支、收入

2、时,大额数字或是多倍小数的计算都需要计算器的帮助,而在学习一些科目时,也常常要处理数字。虽然现在的计算器价格比较低廉,但是功能过于简单的不能满足个人需求,功能多的价格较贵,不仅操作不便,很多功能也根本用不到。为了设计开发一个属于自己的简单计算器来完成日常学习生活的需求。因此,我们用自己所学的知识,采用 GUI 来实现计算器,并采用 Swing 组件,AWT 事件处理等实现具体功能。二、二、系统分析与设计系统分析与设计(一)系统功能要求由于现代用户更倾向于由鼠标方便操作的图形用户界面,所以我们采用 GUI 来实现计算器,并采用 Swing 组件,AWT 事件处理等实现具体功能。功能要求: (1)

3、由用户输入一个表达式,求出其计算结果后显示。 (2)允许在表达式中出现常用的数学函数,如绝对值、取整、三角函数、倒数、平方根、平方、立方等。 (3)要能够判断出表达式中的变量名及其个数,按照变量名自动弹出/出现输入界面逐个让用户输入变量。 (4)尽量使用图形界面实现,要符合日常软件使用规范来设计菜单和界面。(5)如果无法实现图形界面,则在命令行方式下也需要提供菜单,方便用户操作。4(二)系统模块结构设计通过对系统功能的分析,计算带变量的数学表达式系统功能模板如下图所示:通过上图的功能分析,把整个系统划分为 2 个大模块,9 个小功能:1、简单计算,具体实现功能:计算加、减、乘、除。2、简单科学

4、计算,具体实现功能:开平方运算、平方、立方、取整、三角函数、倒数。三、三、系统的设计系统的设计与实现与实现以下是部分类功能的说明:CalFrame /构造新窗体CalPanelL /定义面板容器CalButton/定义按钮5四、四、系统测试系统测试主要问题:1.标点符号问题,经常出现漏打分号,忽略中英文标点转换等问题,所以一定要谨慎仔细.2.进制转换的实现及正/余弦计算经常出现问题,结果不正确,经过查阅资料及反复调试,我终于克服了这一难题.3.界面设计,开始我的设计不太合理,各类功能键排序不合理,看起来杂乱无章,既不美观也不实用。经过多次调整程序终于能使界面美观实用。4.要注意类、成员变量、成

5、员方法的命名,其中,class 后的类名由一个或多个英文5.单词构成,每个单词的第一个字符必须是大写;而成员变量和成员方法名的第一个单词的第一个字母必须小写,其他单词第一个字母大写。6.以下是其中一些主要功能演示过程:运行界面: 6五、五、总结总结通过此次的课程设计实践,我不但进一步理解掌握了老师教授的知识,而且通过查找资料学会了课上没有的东西,进一步理解了面向对象的含义,发现了很多它比面向过程突出的地方,第一次接触了图形界面,初步了解了 GUI 方面的知识。在实践中我遇到了很多问题,但我都努力克服,并最终成功的完成了这次课程设计。通过编写这个相对复杂的程序,我认识解决实际问题前应先建立模型,

6、再通过建立的模型使问题简单化,从而解决问题。并且这次编写的程序大部分是通过调用各包中的方法来实现的,这也让我充分理解了包和类的调用关系。由于这次编写的程序比较复杂,所以不能一次性编写、调试,也由此让我学会把程序分块,逐个编写、调试。六、六、附件(源代码)附件(源代码)import java.awt.*; import java.awt.event.*;public class Cal public static void main(String args) CalFrame f = new CalFrame(); class CalFrame extends Frame /定义窗口类doubl

7、e d1, d2 ,c;/两个数对象 d1,d2int op = 0;/ 为下面实现接口处理异常做准备TextField tf;/定义文本域CalPanelL p1;/左容器对象CalPanelR p2;/右容器对象7CalFrame()/构造函数super(“计算数学表达式的程序“);/设置图形界面 Frame 标题setLayout(new FlowLayout(FlowLayout.CENTER,8,10);setBackground(new Color(140,120,110);setForeground(Color.white);setResizable(false);setSize

8、(250,200);setLocation(400,260);/设置 Frame 相应属性tf = new TextField(22);tf.setEditable(false);tf.setBackground(Color.white);tf.setForeground(Color.black);tf.setFont(new Font(“Arial“,Font.BOLD,16);/定义文本框属性add(tf);/添加文本框到图形界面p1 = new CalPanelL();p2 = new CalPanelR();/初始化容器add(p1);add(p2);/添加容器到图形界面setVisi

9、ble(true);addWindowListener(new Wclose();/添加关闭窗口事件监听者/构造函数定义结束class CalButton extends Button /CAlButton 类的域定义(内部类)CalButton(String s)super(s);setBackground(Color.gray);/定义按钮颜色为灰色class CalPanelL extends Panel CalButton b0, b1, b2, b3,b4, b5, b6, b7,b8, b9, bPN, bPoint;/分别代表 0,1,2,3,4,5,6,7,8,9,+/-,.8

10、CalPanelL()setLayout(new GridLayout(4,3);setFont(new Font(“TimesRoman“,Font.BOLD,16);b0 = new CalButton(“0“); b1 = new CalButton(“1“); b2 = new CalButton(“2“); b3 = new CalButton(“3“); b4 = new CalButton(“4“); b5 = new CalButton(“5“); b6 = new CalButton(“6“); b7 = new CalButton(“7“); b8 = new CalBut

11、ton(“8“); b9 = new CalButton(“9“); bPN = new CalButton(“+/-“);bPoint = new CalButton(“.“); add(b7); b7.addActionListener(new PressB7(); add(b8); b8.addActionListener(new PressB8(); add(b9); b9.addActionListener(new PressB9(); add(b4); b4.addActionListener(new PressB4(); add(b5); b5.addActionListener

12、(new PressB5(); add(b6); b6.addActionListener(new PressB6(); add(b1); b1.addActionListener(new PressB1(); add(b2); b2.addActionListener(new PressB2(); add(b3); b3.addActionListener(new PressB3(); add(b0); b0.addActionListener(new PressB0(); add(bPN); bPN.addActionListener(new PressBPN(); ;add(bPoint

13、); bPoint.addActionListener(new PressBPoint(); class CalPanelR extends Panel CalButton bAdd, bSub, bMul, bDiv,bSqrt, bSin, bCos, bYx,9bInt, bEqual, bCE, bBack;CalPanelR()setLayout(new GridLayout(4,3);setFont(new Font(“TimesRoman“,Font.BOLD,16); bAdd = new CalButton(“+“); bSub = new CalButton(“-“); b

14、Mul = new CalButton(“*“); bDiv = new CalButton(“/“); bSqrt = new CalButton(“sqrt“); bSin = new CalButton(“sin“); bCos = new CalButton(“cos“); bYx = new CalButton(“yx“); bInt = new CalButton(“int“);bEqual = new CalButton(“=“); bCE = new CalButton(“CE“); bBack = new CalButton(“1/x“); add(bDiv); bDiv.a

15、ddActionListener(new PressBDiv(); add(bSqrt); bSqrt.addActionListener(new PressBSqrt(); add(bInt); bInt.addActionListener(new PressBInt(); add(bMul); bMul.addActionListener(new PressBMul(); add(bSin); bSin.addActionListener(new PressBSin(); add(bBack); bBack.addActionListener(new PressBBack(); add(bS

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号