javacjs三种语言实现计算器课程设计.docx
上传人:王子****青蛙 上传时间:2024-09-13 格式:DOCX 页数:7 大小:1.4MB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

javacjs三种语言实现计算器课程设计.docx

javacjs三种语言实现计算器课程设计.docx

预览

在线预览结束,喜欢就下载吧,查找使用更方便

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

HUBEINORMALUNIVERSITY综合课程设计(一)IntegratedCurriculumDesign(1)所在院系教育信息与技术学院专业名称信息工程班级1202班题目计算器指导教师严焰老师成员罗显吉韩旭东肖扬完成时间2014年6月2日一、设计任务及要求:设计任务:设计简单计算器:计算器对我们每一个学生都很熟悉,从初中到高中再到大学。但是我们只知道按下几个按钮计算器便会显示出结果,很少有学生分析过计算器究竟是如何运行的。要求:(1)算术运算功能。能够实现加、减、乘、除(2)函数运算功能。能够实现sin、x^y、n!、1/x(3)进制之间的转换功能。能够实现十六、十、二、八进制数据之间的转换。指导教师签名:2014年6月2日二、指导教师评语:指导教师签名:2014年6月3日三、成绩验收盖章2014年6月6日题目1设计目的设计简单计算器:计算器对我们每一个学生都很熟悉,从初中到高中再到大学。但是我们只知道按下几个按钮计算器便会显示出结果,很少有学生分析过计算器究竟是如何运行的。要求:(1)算术运算功能。能够实现加、减、乘、除(2)函数运算功能。能够实现sin、x^y、n!、1/x(3)进制之间的转换功能。能够实现十六、十、二、八进制数据之间的转换。2设计思路计算器,用途广泛,能用计算器的平台也很多,从便携计算机,手机,平板,到我们的捧场,甚至在web网页上都谁处可以看到计算器,因此,本次课程设计我们小组,决定用多种语言分别实现计算器的基本功能。Java面向对象,自带类库,可以实现美观的界面,便于控制,由于java语言的特色,程序可以跨平台使用;js为网站前台脚本,程序可以在客户端浏览器中运行,而且交互界面友好,使用者可以快速入手,熟练操控;至于c语言,由于界面交互实现较难,我们最终决定让其在DOS窗口中以对话的方式实现。3设计分工分工:计算器的java实现由韩旭东完成;计算器的js实现由罗显吉来完成;计算器的c实现由肖扬完成。4设计过程实验过程1,运行并编辑程序需要jdk环境的支持,用eclipse来编写的。2,程序设计由三个模块,即三个类构成(如图4.1.1):(1)Calculator类,程序的启动类,包含了main启动方法;(2)CalculatorJFrame类,继承自JFrame类,框架类,规定了窗口的大小,位置,设置了窗口的显示和退出,添加了显示框,面板;(3)CalculatorJPanel类,继承自JPanel类,面板类,添加了36个按钮,设置了三种监听事件(如图4.1.2)即三种动作按钮SwitAction控制进制类“SH”“B”“O”等按钮InsertAction控制数字类“1”“2”“3”等按钮CommandAction控制运算类“+”“-”“/”等按钮是计算和进制部分功能的实现类。二,程序运行及调试开始界面Java代码写计算器,框架结构代码与功能实现代码紧密耦合,所以这里就不粘贴代码了;图中,AC表示归零,SH表示switch,即算术计算器与进制计算器之间的切换,BODH分别表示二,八,十,十六进制的按钮如图4.1.4和图4.1.5进行对负数的阶乘操作,程序会自动提示错误,同理还有开根号,等运算,如果数值范围不对,均会提示错误。相关代码如下:if(thisCommand.equals("n!")){if(Double.parseDouble(text.getText())<=0){text.setText("请输入大于0的数!!!");}else{result=1;doublet=Double.parseDouble(text.getText());//输入的数,即nfor(inti=0;i<Double.parseDouble(text.getText());i++){result=result*t;t=t-1;}text.setText(Double.toString(result));}}如图4.1.6和图4.1.7进行了对(-π/2)的sin运算,关于sin运算的代码,如下:if(thisCommand.equals("sin")){Stringm=text.getText();result=Math.sin(Double.parseDouble(m));text.setText(Double.toString(result));mid=false;}图4.1.8至图4.1.11