java版科学计算器,支持表达式计算.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
java版科学计算器,支持表达式计算

程序设计综合设计 题目 一个计算数学表达式的程序 学生姓名 朱小波 学号 2009112127 专 业 计算机科学与技术 班级 指导教师 张蕊 完成日期2013年 1月 9日 计算机与信息学院 课题:一个计算数学表达式的程序 1 1 课程设计目的 3 2 设计题目分析 3 2.1 功能要求: 3 2.2 界面要求: 3 2.3 设计要求及需求分析 3 3.1 总体设计 4 3.2 详细设计 5 3.3 调试与测试 7 4 设计心得与总结 10 5 附录(源码见压缩包) 10 使用说明: 10 UML类图: 11 1 课程设计目的 (1)巩固java语言的基础知识,进一步加深对java语言的理解和掌控。 (2)课程设计为大家提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机结合起来,锻炼我们的分析解决实际问题的能力。提高我们适应实际,实践编程的能力。 (3)培养我们在项目开发中创新意识及能力,通过亲身实践,利用所学编写简单的面向对象程序,提高对面向对象及JAVA语言的理解。 2 设计题目分析 2.1 功能要求: (1)由用户输入一个简单的四则运算表达式,求出其计算结果后显示。 (2) 允许在表达式中出现常用的数学函数,如取整、三角函数、倒数、平方根、平方、立方等。 2.2 界面要求: (1) 尽量使用图形界面实现,要符合日常软件使用规范来设计菜单和界面。 (2) 如果无法实现图形界面,则在命令行方式下也需要提供菜单,方便用户操作。 2.3 设计要求及需求分析 设计要求:由于现代用户更倾向于由鼠标方便操作的图形用户界面,所以我们采用GUI来实现计算器,并采用Swing组件,AWT事件处理等实现具体功能。 需求分析:在我们日常生活中,计算开支、收入时,大额数字或是多倍小数的计算都需要计算器的帮助,而在学习一些科目时,也常常要处理数字。虽然现在的计算器价格比较低廉,但是功能过于简单的不能满足个人需求,功能多的价格较贵,不仅操作不便,很多功能也根本用不到。所以我们想用自己所学设计开发一个属于自己的简单计算器来完成日常学习生活的需求。3 课程设计内容 3.1 总体设计 系统总体设计框架图: 系统功能模块图: 开发环境:netbeans7.1+Java1.6 项目结构: 3.2 详细设计 以下是部分类功能的说明: 主界面:MainJFrame 包括了一个显示窗口和一个标签化窗格,如下图: 简单模式面板:StandardJPanel 包括了数字按键和其他功能按键,如下图: 高级模式面板:AdvanceJPanel 包括了数字按键和其他高级功能按键以及一个输入框用来输入数学表达式。如下图: 帮助面板:HelpJPanel 包含了帮助内容文本和软件信息,如下图: 3.3 调试与测试 包括程序调试过程、数据测试结果分析,测试过程中遇到的主要问题及采取的解决措施;(列出主要问题的出错现象、出错原因、解决方法及效果等)。 主要问题: 1、计算数学表达式问题,可以自己用数据结构中的栈来实现,本程序用了更加强大的用于计算数学表达式的开源包:exp4j。 2、标点符号问题,经常出现漏打分号,忽略中英文标点转换等问题,所以一定要谨慎仔细. 3、进制转换的实现及正/余弦计算经常出现问题,结果不正确,经过查阅资料及反复调试,我们终于克服了这一难题. 4、界面设计,开始我们的设计不太合理,各类功能键排序不合理,看起来杂乱无章,既不美观也不实用。经过多次调整程序终于能使界面美观实用。 5、要注意类、成员变量、成员方法的命名,其中,class后的类名由一个或多个英文单词构成,每个单词的第一个字符必须是大写;而成员变量和成员方法名的第一个单词的第一个字母必须小写,其他单词第一个字母大写。 主要功能演示: 运行界面标准模式: 高级模式: 帮助界面: 4 设计心得与总结 通过此次的课程设计实践,我们不但进一步理解掌握了课上老师教授的知识,而且通过查找资料学会了课上没有的东西,进一步理解了面向对象的含义,发现了很多它比面向过程突出的地方,接触了图形界面,进一步了解了G

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档