简单计算器课程设计

上传人:桔**** 文档编号:470365700 上传时间:2023-01-07 格式:DOC 页数:20 大小:172.50KB
返回 下载 相关 举报
简单计算器课程设计_第1页
第1页 / 共20页
简单计算器课程设计_第2页
第2页 / 共20页
简单计算器课程设计_第3页
第3页 / 共20页
简单计算器课程设计_第4页
第4页 / 共20页
简单计算器课程设计_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《简单计算器课程设计》由会员分享,可在线阅读,更多相关《简单计算器课程设计(20页珍藏版)》请在金锄头文库上搜索。

1、 课程设计说明书 NO.1简单计算器课程设计一.课程设计的目的 Java语言是当今流行的网络编程语言,它具有面向对象、跨平台、分布应用等特点。面向对象的开发方法是当今世界最流行的开发方法,它不仅具有更贴近自然的语义,而且有利于软件的维护和继承。 为了进一步巩固课堂上所学到的知识,深刻把握Java语言的重要概念及其面向对象的特性,锻炼学生熟练的应用面向对象的思想和设计方法解决实际问题的能力,开设了Java程序设计课程设计。 通过此次课程设计,巩固所学Java语言基本知识,增进Java语言编辑基本功,掌握JDK、Editplus、Eclipse、JCreator等开发工具的运用,拓宽常用类库的应用

2、。使学生通过该教学环节与手段,把所学课程及相关知识加以融会贯通,全面掌握Java语言的编程思想及面向对象程序设计的方法,为今后从事实际工作打下坚实的基础。二.设计方案论证1.开发环境:JAVA编程工具JDK 1.5.0 ,操作系统WindowsXP.2. 功能描述:本计算器可以进行简单的四则运算(加、减、乘、除)但仅限于十进制下,还可以进行(八进制,十进制,十六进制)之间的相互转换,八进制最多可以输入19位数,十进制最多可以输入18位数,十六进制最多可以输入14位数,backspace表示退格,clear表示初始化,在window下直接运行(Jsp2003.bat)即可,界面为灰白对称。 沈

3、阳 大 学 / 课程设计说明书 NO.23. 概要设计:* 类名: This_number_too_big 作用: 自定义的异常类,用来处理计算结果溢出 继承的父类: Exception类 实现的接口: 没有 * class This_number_too_big extends Exception /自定义的一个结果溢出异常类 * 类名: Jsp2003 作用: 主类继承的父类: Frame类 实现的接口: ItemListener类,ActionListener类 * class Jsp2003 extends Frame implements ItemListener,ActionLis

4、tener public int number=0,length=18;/number是用来记录输入的数字个数, /length是用来设置在不同进制下允许输入的最多数字位数,默认为十进制 沈 阳 大 学 课程设计说明书 NO.3char mark=n; /设置运算符号为没有即为n,它的值是+-*/ public double data=0; /设置运算数据为零 public char ch; /用来临时存放所按按钮的第一个字符 public boolean Refresh=false; /设置lab是否要在输入数据的时候刷新,初始为否 4.主要方法说明:/用来处理按了运算符后的计算- publ

5、ic void js() throws This_number_too_big /指定由method抛出异常 if (mark=n) /没有运算符 mark=ch; /,则设置运算符为刚刚输入的字符, data=Double.parseDouble(lab.getText();/则设置运算数据为lab的值 Refresh=true;/则设置下一次输入的时候要刷新lab else /如果采用的是连续运算(即没有使用=号)则运行下面的语句 switch (mark) /根据运算符计算结果,并把结果保存到data case +: data+=Double.parseDouble(lab.getTex

6、t(); break; case -: data-=Double.parseDouble(lab.getText(); break; case *: data*=Double.parseDouble(lab.getText(); break; case /: data/=Double.parseDouble(lab.getText(); break;三.设计结果与分析首先安装好JDK 1.5.0,在我的电脑-属性-高级-环境变量里设置环境变量,这样可以方便常用的JAVA程序的调用,设置好.Java和.Javac的路径。如图1所示:图2设置环境变量 沈 阳 大 学 课程设计说明书 NO.4lab

7、.setText(Double.toString(data); /显示运算结果 mark=ch;/设置运算符为刚刚按下的运算符 Refresh=true;/则设置下一次输入的时候要刷新lab number=lab.getText().length();/设置输入的字符个数/ System.out.println(lab.getText();/用来调试用的 if (dataDouble.MAX_VALUE) /如果data超过double类型的最大值则抛出自定义的一个异常类 throw new This_number_too_big(); /end js() method public void

8、 enter()/处理输入字符 if(Refresh=true) /如果已经设置了 运算符则在下一次输入数据的时候要把以前lab的内容清除掉 lab.setText(0); number=0; Refresh=false; if(lab.getText().charAt(0)=0& lab.getText().length()=1) /如果lab的内容为0则,lab的内容将被所输入的字符代替, /否则直接在lab的内容后面加上所输入的字符 lab.setText(Character.toString(ch); number+; else if(numberlength) number+;lab

9、.setText(lab.getText()+ch); /end enter() method 沈 阳 大 学 课程设计说明书 NO.5/八进制或十六进制转换成十进制I public String goto_10(String s,long l) /参数s: 是要转换的字符串,由于输入的控制,保证了字符串的合法性; /参数l: 使用来设置是将8进制还是16进制转换成10进制,它的有效值为8或16; String str=s; /用来转换的字符串 long j=l; /表示进制 long lg=0,jing=1;/lg用来记录权乘和,jing用来记录位权 char cha;/临时记录要转换的字符

10、 for(int i=1;i=str.length();i+) cha=str.charAt(str.length()-i); switch(cha) case 1: lg=lg+1*jing;break; case 2: lg=lg+2*jing;break; case 3: lg=lg+3*jing;break; case 4: lg=lg+4*jing;break; case 5: lg=lg+5*jing;break; case 6: lg=lg+6*jing;break; case 7: lg=lg+7*jing;break; case 8: lg=lg+8*jing;break;

11、case 9: lg=lg+9*jing;break; case A: lg=lg+10*jing;break; case B: lg=lg+11*jing;break; case C: lg=lg+12*jing;break; case D: lg=lg+13*jing;break; case E: lg=lg+14*jing;break; case F: lg=lg+15*jing;break; jing*=j; /位权升一级,为下次使用做好准备 沈 阳 大 学 课程设计说明书 NO.6return Long.toString(lg); /end String goto_10() method 3. 系统流程图 True false开始初始化数据Double result=0; /存储结果Boolean newnum=true; /是否新数String lastop=”=”; /存储操作符按下数字按钮按下操作符(+-*、=)按钮判断newnum把当前文本框的内容转为double后传给calc方法calc(doubl

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号