java实验报告总结【java课程设计实验报告一】

 目 录

 本次课程设计选题………………………………………………………1

 1.课程设计内容概述……………………………………………………1

 1.1目的…………………………………………………………………1

 1.2任务…………………………………………………………………1

 2.程序设计基本思想……………………………………………………1

 2.1问题需求分析………………………………………………………1

 2.2总体设计……………………………………………………………1

 2.3数据处理分析………………………………………………………2

 2.4编程环境及工具说明………………………………………………2

 3.系统流程图……………………………………………………………2

 4.系统各部分的UML类图………………………………………………3

 5.容器层次结构树………………………………………………………3

 6.运行结果及分析………………………………………………………4

 6.1程序四则运算运行情况截图………………………………………4

 6.2程序三角函数运行情况截图………………………………………5

 6.3程序对数法运行情况截图…………………………………………6

 6.4程序指数法运行情况截图…………………………………………6

 6.5程序平方根法运行情况截图………………………………………7

 6.6特殊值测试运行情况截图…………………………………………7

 6.7说明及结果分析……………………………………………………9

 7.总结……………………………………………………………………9

 8. 合作课程设计的成员分工情况……………………………………11

 参考文献…………………………………………………………………12

 本次课程设计选题:简易计算器

 设计一个计算器应用程序,用于进行简单的加减乘除四则运算。要求能够对输入的算式判断运算符优先级,允许在表达式中出现常用的数学函数,如绝对值,取整,三角函数,倒数,平方根,平方,立方等。

 (一)课程设计内容概述——目的,任务

 1.1目的:设计一个计算器应用程序,能够实现基本的加、减、乘、除四则运算,以及其它的辅助功能如平方根,三角函数,指数,对数等。

  1.2任务:设计任务要完成设计,编码,测试等过程,给出程序设计的基本思想,系统流程图,系统各部分的UML类图,容器层次结构树,运行结果及相应分析。

 (二)程序设计的基本思想——包括问题需求分析,总体设计,编程环境及工具说明等

 2.1问题需求分析:无论在学习还是生活上,我们经常都会遇到一些难以口头计算的较繁杂的算术问题,需要用到计算器。基于计算器使用的人群较广,其界面设计应该要简洁,且让人容易理解以及容易操作使用,一个好的计算器要做到方便可靠实用。在Applet中实现一个精巧的计算器,可以让用户的操作也更方便和快捷。

 2.2总体设计:这个计算器应用程序继承自框架,此程序使用了frame边框布局管理器(borderlayout),将7个面板(Jpanel)按一垂直单行加入框架中相应的区域,每个面板包含各种按钮(JButton),如数字按钮,运算符按钮和控制按钮等,同时注册按钮事件监听器。其中一面板为进制转换的面板。

 2.3数据处理分析:计算器的数据输入包括运算符和数字,均要通过计算器上的button按钮选项按钮输入进去,里面录入的必然是字符型的数据,如果进行运算要将输入的数据转化成Double型,以防出错。注意要将数字键和其他符号区别开来进行监听。

 2.4编程环境及工具说明: Jcreator JDK1.6

 (三)系统流程图——重要处理过程的程序流程图

  (四)系统各部分的UML类图——要体现类中的数据成员和函数成员情况,要体现类与类(接口)之间的继承,依赖等关联关系

 (五)容器层次结构树

 (六)运行结果及分析——给出详细的程序运行情况截图,并附加说明及结果分析

 6.

 运行结果:8+9=17

 6.1.2

 运行结果:17-6=11

 6.1.3

 运行结果:11*8=88

 6.1.4

 运行结果:88/4=22

 6.2.1程序

 运行结果:sin60= 0.8660254037844386 6.

 运行结果:cos60= 0.5000000000000001

 6.

 运行结果:tan60= 1.7320508075688767

 6.3程序对数法运行情况截图:

 运行结果:ln2= 0.6931471805599453

 6.4程序指数法运行情况截图:

 运行结果:e^2=7.38905609893065

 6.5程序平方根法运行情况截图:

 运行结果:sqrt(3)=1.7320508075688772

 6.6特殊值测试运行情况截图:

 运行结果:6/0= Infinity

 运行结果:ln0= —Infinity

 运行结果:ln(-9)= NaN

 运行结果:tan90= 1.633123935319537E16

 运行结果:tan45= 0.9999999999999999

 运行结果:sqrt(-5)= NaN

 说明:除了四则运算的四个运算按钮,其他运算按钮要先输运算符再输数字,其次三角函数输入参数默认为角度值。

 结果分析:本计算器应用程序能正常实现所有基本运算按钮的功能,虽然三角函数值的测试显示有微少偏差,但误差影响不大。测试得出的最大误差的运算是tan90 的运算,正常的结果应该是不存在的,而计算器显示结果为一个十六进制表示的值,故此处功能实现不完善。

 (七)总结——对这次课程设计做的过程进行总结,做了一个什么课程设计,实现了什么功能,还存在什么问题没有解决,自己有些什么心得体会等

 设计过程总结:在本课程设计开始的阶段,我庆幸可以在JAVA考试之后才动工编写,因为经历过考试,总会看一遍教科书,更加熟悉代码的编写以及编写时要注意的事项。选定题目之后,我就在草稿纸上画个界面简图,然后我就直接按着简图用电脑编写图形用户界面程序。在逐步摸索和编写代码的过程当中,虽然我已经学会细分每一个部分,把一个大的整体的结构细分成多个小面板来写代码,但是还是发现所编写的代码难以通过编译。在求救室友和同学的时候发现自己还没能轻松驾驭编程设计,我经过多次修改,多次编译,成功的次数很少,后来我就有种想放弃的感觉。编了一半的程序被我放下了两三天,后来想想我不能就此被打击到,重新看了下题目要求,再编译了几次,也求救过网友,学会了一些书上没有的方法,而且也成功添加到程序当中来,终于又体会了一次成功的喜悦。

 在设计过程当中,不足的地方有很多很多,首要的问题是我还没能完全搞懂教课书上的编程技能,特别是打星号的章节部分,其次就是我没有耐心面对多次的挫败,再来就是没有钻研精神,其实在和室友背着电脑去图书馆编程搜集资料的时候就发现自己的知识面真的真的可以扩大很多,只要有心,只要肯去学,我的能力决不至于现在这样,大学资源很多,我们真的不该浪费!再来我想说,其实在这次编程的过程中,除了求救同学之外,我也帮忙解决了不少问题,在与别人的沟通过程中会摩擦出新的激情,新的火花,可以激发灵感,苦恼的时候一起苦恼,成功的时候一起欢呼,超享受超享受那种感觉,那种编程气氛。

 我有必要向老师提个建议,其实可以把课程设计的题目设定的规模再搞大一点,然后允许多人组队选题编程,这样或许更能激发集体凝聚力和创新灵感,增强编程趣味性。而且在这个过程当中,老师有时间的话可以组织大家一起讨论研究,提供更多的有用信息和技巧,带着学生一起遍,一起发现过程的美,这样一来也可以是变相的一种考核,学生的一些表现并不能全由报告体现啊!

 最后我想说通过这次课程设计我得到的收获是充分理解了什么是面向对象程序设计,如何通过接口,继承等方式实现方法,掌握了一些编译和调试程序的技巧和方法,还有就是充分体会到了人与人之间互相帮助,互相勉励的美好。以后还要多多接触编程,多提升自己的技能和巩固所学的内容。

 这次课程设计成功实现了的功能有:通过将数字键和其他符号区别开来进行监听实现了各类不同运算符的操作;运用了面板的叠加做出界面;通过在按钮的单击事件处理方法中调用类的成员方法calculate( )来进行简易计算器的各种运算,并正确实现运算功能;调用Math包中的方法实现各函数的功能,并通过运用数学表达公式来设置三角函数输入值默认成角度值;添加菜单条,列出“选项” ,“进制转换” ,“帮助” ,等菜单选项,并分别实现“选项”中的“退出” 的功能,通过调用Integer包中的方法实现二进制,八进制的转换,“帮助”菜单栏中“用法”的提示对话框;整个程序对话框可实现最小化,最大化和关闭功能。

 存在的还没有解决的问题有:实验要求计算器应用程序能够实现对输入的算式判断运算符优先级,但到目前还没能编写正确的功能代码添加上去;计算器的界面设计过于死板,本来想换一些特别的按钮上去,然后再多增加几个运算符功能按钮,基于实验时间有限故还没能实现;本计算器应用程序的三角函数运算部分的计算结果存在偏差,经调试修改还是没能排除掉误差,使结果值更精确。

 设计心得体会:在课程设计编写代码之前一定要理清自己的设计思路,多花点时间在分析题目和设计构思上,不要一拿到题目就急于写代码,尽量做到准备充分的时候才编写程序,以减少修改程序花的时间。实现功能设计的时候尽量采用分块实现功能的思想,逐个编写,逐个调试,这样才会容易发现错误的地方并且能够更完善编写的代码。要懂得利用身边的所有资源,包括图书馆的相关书籍,同学的帮助,网友的解答,老师的指导等。敢于尝试,不轻言放弃,乱了套的时候要静下来慢慢整理自己的设计思路,再重新修改编译,总会有胜利的曙光在前方!

 (八)合作课程设计的成员分工情况

 一人完成。

 参 考 文 献

 Java程序设计课程(第五版)【美】John Lewis William Loftus 著

 出版社:电子工业出版社

推荐访问:课程设计 实验 报告 Java