计算器程序java.docx
《计算器程序java.docx》由会员分享,可在线阅读,更多相关《计算器程序java.docx(13页珍藏版)》请在冰豆网上搜索。
计算器程序java
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类图
图2UML类图
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, 实际结果如下
图9sin运算
【说明】:
如题意运算,先按1,再按sin,便直接可得sin1的结果;
【分析】:
程序先接收一个数num,接着运算Math、sin(num),再通过一系列转换输出即可。
(2)、运算:
cos1=预计结果0、54302, 实际结果如下
图10cos运算
【说明】:
如题意运算,先按1,再按cos,便直接可得cos1的结果;
【分析】:
程序先接收一个数num,接着运算Math、cos(num),再通过一系列转换输出即可。
(2)、运算:
tan0、1=预计结果0、10033, 实际结果如下
图11tan运算
【说明】:
如题意运算,先按1,再按tan,便直接可得tan1的结果;
【分析】:
程序先接收一个数num,接着运算Math、tan(num),再通过一系列转换输出即可。
(3)、运算:
arcsin1=预计结果1、570796, 实际结果如下
图12arcsin运算
【说明】:
如题意运算,先按1,再按arcsin,便直接可得arcsin1的结果;
【分析】:
程序先接收一个数num,接着运算Math、asin(num),再通过一系列转换输出即可。
(4)、运算:
arccos1=预计结果0、0, 实际结果如下
图13arccos运算
【说明】:
如题意运算,先按1,再按arccos,便直接可得arccos1的结果;
【分析】:
程序先接收一个数num,接着运算Math、acos(num),再通过一系列转换输出即可。
(5)、运算:
arctan1=预计结果0、78539, 实际结果如下
图14arctan运算
【说明】:
如题意运算,先按1,再按arctan,便直接可得arctan1的结果;
【分析】:
程序先接收一个数num,接着运算Math、atan(num),再通过一系列转换输出即可。
(6)、运算:
ln1=预计结果0、0, 实际结果如下
图15ln运算
【说明】:
如题意运算,先按1,再按lnx,便直接可得ln1的结果;
【分析】:
程序先接收一个数num,接着运算Math、log(num),再通过一系列转换输出即可。
(7)、运算:
tanh1=预计结果0、76159, 实际结果如下
图16tanh运算
【说明】:
如题意运算,先按1,再按tanh,便直接可得tanh1的结果;
【分析】:
程序先接收一个数num,接着运算Math、tanh(num),再通过一系列转换输出即可。
(8)、运算:
lg10=预计结果1、0, 实际结果如下
图17lg运算
【说明】:
如题意运算,先按10,再按lg,便直接可得lg10的结果;
【分析】:
程序先接收一个数num,接着运算Math、log10(num),再通过一系列转换输出即可。
(9)、运算:
e^1=预计结果2、7182818, 实际结果如下
图18e^x运算
【说明】:
如题意运算,先按1,再按e,便直接可得e^1的结果;
【分析】:
程序先接收一个数num,接着运算Math、exp(num),再通过一系列转换输出即可。
(10)、运算:
2√(25)=预计结果5、0, 实际结果如下
图192√运算
【说明】:
如题意运算,先按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心得体会
“有了构思,便要动手;碰到不会,请教高手。
”这句话就是我最大心得体会的体现。
不能只就是构思一个问题,如果不去动手,您永远无法发现当中的各种各样问题;碰到不会的问题,那就一定要请教会的高手,或者就是去“XX一下”寻求解决的办法,再自己想下去就是一点用处都没有的。
开始的时候,我的信心并不就是很足,觉得自己很难去完成,但就是,动手了之后,通过发现问题,解决问题,再发现问题,再解决问题,慢慢的就发现:
其实也不就是很难的。
做完课程设计相当于就是把java程序设计这本书复习了一遍,让我更了解熟悉了JAVA语言编程的基础知识,充实了自己,也学习到了很多以前没有学习到的知识。
8课程实习情况
自己一个人独立完成!