计算数学表达式程序设计实训报告资料

上传人:w****i 文档编号:92476271 上传时间:2019-07-10 格式:DOC 页数:17 大小:92KB
返回 下载 相关 举报
计算数学表达式程序设计实训报告资料_第1页
第1页 / 共17页
计算数学表达式程序设计实训报告资料_第2页
第2页 / 共17页
计算数学表达式程序设计实训报告资料_第3页
第3页 / 共17页
计算数学表达式程序设计实训报告资料_第4页
第4页 / 共17页
计算数学表达式程序设计实训报告资料_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《计算数学表达式程序设计实训报告资料》由会员分享,可在线阅读,更多相关《计算数学表达式程序设计实训报告资料(17页珍藏版)》请在金锄头文库上搜索。

1、程序设计实训报告题目:计算数学表达式程序1、课程设计目的 (1)复习巩固java语言的基础知识,进一步加深对java语言的理解和掌控 (2)课程设计为大家提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机结合起来,锻炼我们的分析解决实际问题的能力。提高我们适应实际,实践编程的能力。 (3)培养我们在项目开发中创新意识及能力,通过亲身实践,利用所学编写简单的面向对象程序,提高对面向对象及JAVA语言的理解。2、设计题目分析21 题目要求:(1)由用户输入一个简单的四则运算表达式,求出其计算结果后显示。(2) 允许在表达式中出现常用的数学函数,如取整、三角函数、倒数、平方根、平方

2、、立方等。2.2 界面要求:(1) 尽量使用图形界面实现,要符合日常软件使用规范来设计菜单和界面。(2) 如果无法实现图形界面,则在命令行方式下也需要提供菜单,方便用户操作。23 设计要求及需求分析 设计要求:由于现代用户更倾向于由鼠标方便操作的图形用户界面,所以我们采用GUI来实现计算器,并采用Swing组件,AWT事件处理等实现具体功能。 需求分析:在我们日常生活中,计算开支、收入时,大额数字或是多倍小数的计算都需要计算器的帮助,而在学习一些科目时,也常常要处理数字。虽然现在的计算器价格比较低廉,但是功能过于简单的不能满足个人需求,功能多的价格较贵,不仅操作不便,很多功能也根本用不到。所以

3、我们想用自己所学设计开发一个属于自己的简单计算器来完成日常学习生活的需求。3、课程设计内容31 总体设计: 系统总体设计框架CalPanelL p1: 数字键按钮等CalPanelL p2:操作按钮简单计算器加减乘除系统功能模块图:简单科学计算器开平方运算绝对值平方、立方取整三角函数倒数32 详细设计: 以下是部分类功能的说明: CalFrame /构造新窗体 CalPanelL /定义面板容器CalButton/定义按钮33 调试与测试:包括程序调试过程、数据测试结果分析,测试过程中遇到的主要问题及采取的解决措施;(列出主要问题的出错现象、出错原因、解决方法及效果等)。 主要问题: 1.标点

4、符号问题,经常出现漏打分号,忽略中英文标点转换等问题,所以一定要谨慎仔细. 2.进制转换的实现及正/余弦计算经常出现问题,结果不正确,经过查阅资料及反复调试,我们终于克服了这一难题. 3.界面设计,开始我们的设计不太合理,各类功能键排序不合理,看起来杂乱无章,既不美观也不实用。经过多次调整程序终于能使界面美观实用。 4.要注意类、成员变量、成员方法的命名,其中,class后的类名由一个或多个英文单词构成,每个单词的第一个字符必须是大写;而成员变量和成员方法名的第一个单词的第一个字母必须小写,其他单词第一个字母大写。以下是其中一些主要功能演示过程:运行界面: 4、设计心得与总结:通过此次的课程设

5、计实践,我们不但进一步理解掌握了课上老师教授的知识,而且通过查找资料学会了课上没有的东西,进一步理解了面向对象的含义,发现了很多它比面向过程突出的地方,第一次接触了图形界面,初步了解了GUI方面的知识。在实践中我们遇到了很多问题,但我们都努力克服,并最终成功的完成了这次课程设计。 通过编写这个相对复杂的程序,我们认识解决实际问题前应先建立模型,再通过建立的模型使问题简单化,从而解决问题。并且这次编写的程序大部分是通过调用各包中的方法来实现的,这也让我们充分理解了包和类的调用关系。由于这次编写的程序比较复杂,所以不能一次性编写、调试,也由此让我们学会把程序分块,逐个编写、调试。5、 附录(源代码

6、)import java.awt.*; import java.awt.event.*;/加载包(使用图形界面处理的,都必须加载此包)public class Cal public static void main(String args) CalFrame f = new CalFrame();/创建并初始化被访问类的对象,形成图形界面(主程序界面) /定义含有main方法的主类Calclass CalFrame extends Frame /定义窗口类 double d1, d2 ,c;/两个数对象d1,d2 int op = 0;/ 为下面实现接口处理异常做准备 TextField tf

7、;/定义文本域 CalPanelL p1;/左容器对象 CalPanelR p2;/右容器对象 CalFrame()/构造函数 super(计算数学表达式的程序);/设置图形界面Frame标题 setLayout(new FlowLayout(FlowLayout.CENTER,8,10); setBackground(new Color(140,120,110); setForeground(Color.white); setResizable(false); setSize(250,200);setLocation(400,260);/设置Frame相应属性 tf = new TextFi

8、eld(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);/添加容器到图形界面 setVisible(true); addWindowListener(new Wclose();/添加关闭窗口事件监

9、听者 /构造函数定义结束 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,+/-,. CalPanelL() /构造函数 setLayout(new GridLayout(4,

10、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 CalButton(8); b9 = new CalButton(9); bPN = new CalButton(+/-

11、); 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(new PressB5(); add(b6); b6.addActionListener(new Pres

12、sB6(); 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); bPoint.addActionListener(new PressBPoint();/注册给Pre

13、ssBPoint对象 /构造函数定义结束 class CalPanelR extends Panel CalButton bAdd, bSub, bMul, bDiv, bSqrt, bSin, bCos, bYx, bInt, bEqual, bCE, bBack;/分别代表加、减、乘、除,开平方,三角函数正弦、余弦,平方、立方,取整,等于,清除,后退 CalPanelR()/构造函数 setLayout(new GridLayout(4,3); setFont(new Font(TimesRoman,Font.BOLD,16);/指定Font对象的字体、字形、字号 bAdd = new CalButton(+); bSub = new CalButton(-); bMul = new CalButton(*); bDiv = new CalButton(/); bSqrt = new CalButton(sqrt); bSin = new CalButton(sin); bCos = new C

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

当前位置:首页 > 高等教育 > 大学课件

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