1课程实习内容概述
1.1 目的及任务
成功的Java课程设计是其课程学习到位的一个重要体现,通过课程设计使学生更加掌握JAVA语言编程的基础知识并能熟练运用。
如:
(1)、掌握Java开发面向对象的软件设计思想、方法及步骤;
(2)、熟悉类声明与对象的使用,并进一步强化类的定义,掌握类的继承、接口以及变量、数组的应用;
(3)、了解JAVA语言的图形用户界面的设计知识,并运用JAVA 编写简单计算器程序。
2 程序实现的基本思想
2.1 问题分析
编写一个简单计算器程序,它要具有0~9数及π的输入、加、减、乘、除、开根号、正三角反三角函数、e^x、ln(x)、lg(x)、tanh、角度和弧度的转换、删除、清空的功能。
2.2 总体设计
(1)、首先要设计其GUI界面,总体界面有一个文本框,共有32个按钮,总体界面用BorderLayout布局。
(2)、文本框放置在总体界的NORTH;
(3)、0到9以及“.”=的按钮放置到一个面板Panel1中,并用GridLayout(4,3)来布局,再将其添加到一个面板panel_center中,最后将panel_center面板放进整体布局的CENTER;
(4)、将正三角反三角函数、e^x、ln(x)、lg(x)、tanh、角度和弧度的转换等12个按钮放置到一个面板Panel3中,设计其按键字体为蓝色,并用GridLayout(4,3)来布局,再将其放进整体布局的WEST;
(5)、将+、-、 *、/、 2√、π、以及删除和清空等8个按钮放置到一个面板Panel2中,设计其按键字体为蓝色,并用GridLayout(4,2)来布局,再将其放进整体布局的EAST中,界面设计完成。
(6)、布局设计好后再添加按钮事件。
对于此程序要考虑到点击加、减、乘、除按钮时是否有点击数字按钮,如果是第一次点击数字按钮或者是点击数字按钮前点击了加、减、乘、除按钮则直接把数字按钮的数值设置到文本框中,否则则应把文本框中的内容加上你所点击按钮的数值设置到文本框中。
在进行加、减、乘、除计算时要把点击加、减、乘、除按钮之前的数值保存下来,运算时是这个被保存下来的数值和文本框中的数值加、减、乘、除。
(7)、通过基本原理,编译实现其它按键功能即可。
2.3 编程环境和工具
编程工具是JCreatorPro.
3 系统流程图
图1系统流程图
4UML类图
图2 UML类图
5容器层次结构树
图3 容器层次结构树
6 运行结果及分析
6.1 初始运行界面
图4 初始运行界面
6.2进行四则运算
(1)、运算:44+55= 预计结果99,实际结果如下
图5 加法运算
(2)、运算:55.456-34.654= 预计结果20.802,实际结果如下
图6 减法运算
(3)、运算:34.4*0.88= 预计结果30.272,实际结果如下
图7 乘法运算
(4)、运算:56.8/2.2= 预计结果25.81818,实际结果如下
图8 除法运算
6.3进行其它运算
(1)、运算:sin1= 预计结果0.84147,实际结果如下
图9 sin运算
【说明】:如题意运算,先按1,再按sin,便直接可得sin1的结果;
【分析】:程序先接收一个数num,接着运算Math.sin(num),再通过一系列转换输出即可。
(2)、运算:cos1= 预计结果0.54302,实际结果如下
图10 cos运算
【说明】:如题意运算,先按1,再按cos,便直接可得cos1的结果;
【分析】:程序先接收一个数num,接着运算Math.cos(num),再通过一系列转换输出即可。
(2)、运算:tan0.1= 预计结果0.10033,实际结果如下
图11 tan运算
【说明】:如题意运算,先按1,再按tan,便直接可得tan1的结果;
【分析】:程序先接收一个数num,接着运算Math.tan(num),再通过一系列转换输出即可。
(3)、运算:arcsin1= 预计结果1.570796,实际结果如下
图12 arcsin运算
【说明】:如题意运算,先按1,再按arcsin,便直接可得arcsin1的结果;
【分析】:程序先接收一个数num,接着运算Math.asin(num),再通过一系列转换输出即可。
(4)、运算:arccos1= 预计结果0.0,实际结果如下
图13 arccos运算
【说明】:如题意运算,先按1,再按arccos,便直接可得arccos1的结果;
【分析】:程序先接收一个数num,接着运算Math.acos(num),再通过一系列转换输出即可。
(5)、运算:arctan1= 预计结果0.78539,实际结果如下
图14 arctan运算
【说明】:如题意运算,先按1,再按arctan,便直接可得arctan1的结果;
【分析】:程序先接收一个数num,接着运算Math.atan(num),再通过一系列转换输出即可。
(6)、运算:ln1= 预计结果0.0,实际结果如下
图15 ln运算
【说明】:如题意运算,先按1,再按lnx,便直接可得ln1的结果;
【分析】:程序先接收一个数num,接着运算Math.log(num),再通过一系列转换输出即可。
(7)、运算:tanh1= 预计结果0.76159,实际结果如下
图16 tanh运算
【说明】:如题意运算,先按1,再按tanh,便直接可得tanh1的结果;
【分析】:程序先接收一个数num,接着运算Math.tanh(num),再通过一系列转换输出即可。
(8)、运算:lg10= 预计结果1.0,实际结果如下
图17 lg运算
【说明】:如题意运算,先按10,再按lg,便直接可得lg10的结果;
【分析】:程序先接收一个数num,接着运算Math.log10(num),再通过一系列转换输出即可。
(9)、运算:e^1= 预计结果2.7182818,实际结果如下
图18 e^x运算
【说明】:如题意运算,先按1,再按e,便直接可得e^1的结果;
【分析】:程序先接收一个数num,接着运算Math.exp(num),再通过一系列转换输出即可。
(10)、运算:2√(25)= 预计结果5.0,实际结果如下
图19 2√运算
【说明】:如题意运算,先按25,再按2√,便直接可得2√(25)的结果;
【分析】:程序先接收一个数num,接着运算Math.sqrt(num),再通过一系列转换输出即可。
(11)、运算:将弧度1转换为角度,预计结果57.29º,实际结果如下
图20 弧度转角度运算
【说明】:如题意运算,先按1,再按(角度),便直接可得弧度1转换为角度的结果;【分析】:程序先接收一个数num,接着运算Math. toDegrees(num),再通过一系列转换输出即可。
(12)、运算:将角度1度转换为弧度,预计结果0.01745,实际结果如下
图21 角度转弧度运算
【说明】:如题意运算,先按1,再按(弧度),便直接可得角度1度转换为弧度的结果;【分析】:程序先接收一个数num,接着运算Math. toRadians(num),再通过一系列转换
输出即可。
7 总结
7.1遇到问题
在给出的众多题目中,我挑了一个我认为我自己可以完成的题目:简易计算器。
在这次课程设计中,会遇到很多小问题,比如说:
(1)、如何运用布局管理器把界面布置得美观一些,要用什么布局管理器,在管理器中还要不要再加其它的管理器等等;
(2)、如何调整文本框的位置、大小以及输出字体的大小;
(3)、按钮太多,有时候忘了加监听器,导致按钮没有反应,给在编程中带来不少麻烦;
(4)、如何保存输入的数字和下一个数进行加、减、乘、除运算;
(5)、如何有效地添加小数点以及进行带有小数的运算;
7.2仍有问题
(1)、无法进行负数的输入以及运算;
7.3心得体会
“有了构思,便要动手;碰到不会,请教高手。
”这句话是我最大心得体会的体现。
不能只是构思一个问题,如果不去动手,你永远无法发现当中的各种各样问题;碰到不会的问题,那就一定要请教会的高手,或者是去“百度一下”寻求解决的办法,再自己想下去是一点用处都没有的。
开始的时候,我的信心并不是很足,觉得自己很难去完成,但是,动手了之后,通过发现问题,解决问题,再发现问题,再解决问题,慢慢的就发现:其实也不是很难的。
做完课程设计相当于是把java程序设计这本书复习了一遍,让我更了解熟悉了JAVA 语言编程的基础知识,充实了自己,也学习到了很多以前没有学习到的知识。
8 课程实习情况
自己一个人独立完成!。