2022年2022年计算数学表达式程序设计实训报告 .pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2022年2022年计算数学表达式程序设计实训报告 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年计算数学表达式程序设计实训报告 .pdf(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、程序设计实训报告题目:计算数学表达式程序1、课程设计目的(1) 复习巩固 java 语言的基础知识,进一步加深对java 语言的理解和掌控(2)课程设计为大家提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机结合起来,锻炼我们的分析解决实际问题的能力。提高我们适应实际,实践编程的能力。(3)培养我们在项目开发中创新意识及能力,通过亲身实践,利用所学编写简单的面向对象程序,提高对面向对象及JAVA语言的理解。2、设计题目分析21 题目要求:(1)由用户输入一个简单的四则运算表达式,求出其计算结果后显示。(2) 允许在表达式中出现常用的数学函数,如取整、三角函数、倒数、平方根、平
2、方、立方等。2.2 界面要求:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 17 页 - - - - - - - - - (1) 尽量使用图形界面实现, 要符合日常软件使用规范来设计菜单和界面。(2) 如果无法实现图形界面,则在命令行方式下也需要提供菜单,方便用户操作。23 设计要求及需求分析设计要求:由于现代用户更倾向于由鼠标方便操作的图形用户界面,所以我们采用GUI来实现计算器,并采用Swing组件,AWT 事件处理等实现具体功能。需求分析:在我们日常生活中,计算开
3、支、收入时,大额数字或是多倍小数的计算都需要计算器的帮助,而在学习一些科目时, 也常常要处理数字。 虽然现在的计算器价格比较低廉,但是功能过于简单的不能满足个人需求,功能多的价格较贵,不仅操作不便,很多功能也根本用不到。 所以我们想用自己所学设计开发一个属于自己的简单计算器来完成日常学习生活的需求。3、课程设计内容31 总体设计:系统总体设计框架系统功能模块图:CalPanelL p2 :操作按钮CalPanelL p1: 数字键按钮等简单计算加减乘除简单科学计算开平方运算绝对值平方、立方取整三角函数倒数名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - -
4、- - - - - - 名师精心整理 - - - - - - - 第 2 页,共 17 页 - - - - - - - - - 32 详细设计:以下是部分类功能的说明: CalFrame /构造新窗体 CalPanelL /定义面板容器CalButton/定义按钮33 调试与测试:包括程序调试过程、数据测试结果分析,测试过程中遇到的主要问题及采取的解决措施; (列出主要问题的出错现象、出错原因、解决方法及效果等) 。主要问题: 1.标点符号问题 , 经常出现漏打分号 , 忽略中英文标点转换等问题, 所以一定要谨慎仔细 . 2.进制转换的实现及正 / 余弦计算经常出现问题 , 结果不正确 ,经过
5、查阅资料及反复调试, 我们终于克服了这一难题 . 3.界面设计 ,开始我们的设计不太合理,各类功能键排序不合理,看起来杂乱无章,既不美观也不实用。经过多次调整程序终于能使界面美观实用。 4.要注意类、成员变量、成员方法的命名,其中,class 后的类名由一个或多个英文单词构成,每个单词的第一个字符必须是大写;而成员变量和成员方法名的第一个单词的第一个字母必须小写,其他单词第一个字母大名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 17 页 - - - - - - - -
6、- 写。以下是其中一些主要功能演示过程:运行界面:4、设计心得与总结 :通过此次的课程设计实践, 我们不但进一步理解掌握了课上老师教授的知识, 而且通过查找资料学会了课上没有的东西,进一步理解了面向对象的含义, 发现了很多它比面向过程突出的地方,第一次接触了图形界面, 初步了解了 GUI方面的知识。 在实践中我们遇到了很多问题,但我们都努力克服,并最终成功的完成了这次课程设计。通过编写这个相对复杂的程序,我们认识解决实际问题前应先建立模型,再通过建立的模型使问题简单化,从而解决问题。并且这次编写的程序大部分是通过调用各包中的方法来实现的,这也让我们充分理解了包和类的调用关系。 由于这次编写的程
7、序比较复杂,所以不能一次性编写、调试,也由此让我们学会把程序分块,逐个编写、调试。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 17 页 - - - - - - - - - 5、附录(源代码)import java.awt.*; import java.awt.event.*;/加载包(使用图形界面处理的,都必须加载此包)public class Cal public static void main(String args) CalFrame f = new CalF
8、rame();/创建并初始化被访问类的对象,形成图形界面(主程序界面) / 定义含有 main 方法的主类 Cal class CalFrame extends Frame /定义窗口类 double d1, d2 ,c;/两个数对象 d1,d2 int op = 0;/ 为下面实现接口处理异常做准备 TextField tf;/定义文本域 CalPanelL p1;/左容器对象 CalPanelR p2;/右容器对象 CalFrame()/构造函数 super(计算数学表达式的程序 );/设置图形界面 Frame标题 setLayout(new FlowLayout(FlowLayout.C
9、ENTER,8,10); setBackground(new Color(140,120,110); setForeground(Color.white); setResizable(false); setSize(250,200); setLocation(400,260);/设置 Frame相应属性 tf = new TextField(22); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 17 页 - - - - - - - - - tf.setEditable
10、(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();/添加关闭窗口事件监听者 /构造函数定义结束 class CalB
11、utton 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() /构造函数 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - -
12、- - - - 名师精心整理 - - - - - - - 第 6 页,共 17 页 - - - - - - - - - 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 =
13、new CalButton(7); b8 = new CalButton(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
14、(); add(b5); b5.addActionListener(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.addActionLis
15、tener(new PressBPN(); ; add(bPoint); bPoint.addActionListener(new PressBPoint();/注册给 PressBPoint 对象 /构造函数定义结束名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 17 页 - - - - - - - - - class CalPanelR extends Panel CalButton bAdd, bSub, bMul, bDiv, bSqrt, bSin, bCos,
16、 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 Ca
17、lButton(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.addActionListener(new PressBDiv(); add(bSqrt); bSqrt.addActionListener(ne
18、w PressBSqrt(); add(bInt); bInt.addActionListener(new PressBInt(); add(bMul); bMul.addActionListener(new PressBMul(); add(bSin); bSin.addActionListener(new PressBSin(); add(bBack); bBack.addActionListener(new 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 17 页
19、- - - - - - - - - PressBBack(); add(bSub); bSub.addActionListener(new PressBSub(); add(bCos); bCos.addActionListener(new PressBCos(); add(bCE); bCE.addActionListener(new PressBCE(); add(bAdd); bAdd.addActionListener(new PressBAdd(); add(bYx); bYx.addActionListener(new PressBYx(); add(bEqual); bEqual
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年2022年计算数学表达式程序设计实训报告 2022 计算 数学 表达式 程序设计 报告
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内