java课程设计报告

上传人:沈*** 文档编号:89919537 上传时间:2022-05-13 格式:DOC 页数:24 大小:95KB
收藏 版权申诉 举报 下载
java课程设计报告_第1页
第1页 / 共24页
java课程设计报告_第2页
第2页 / 共24页
java课程设计报告_第3页
第3页 / 共24页
资源描述:

《java课程设计报告》由会员分享,可在线阅读,更多相关《java课程设计报告(24页珍藏版)》请在装配图网上搜索。

1、. 淮 海 工 学 院 计算机工程学院课程设计报告设计名称: 面向对象课程设计 选题名称: 计算器的设计与实现 _ 陈瑶 学 号: 2015123226 专业_ 网络151 系 院: 计算机工程学院设计时间:0 设计地点: 软件实验室、教室 成绩:指导教师评语: 签名: 年 月 日.1课程设计目的面向对象程序设计是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力。同时复习本学期所学的

2、知识以及运用于实践中去,将基本知识点进行稳定,使之更加熟悉知识点。通过本次学习了解以下的内容:1、类、包、接口的定义与使用2、Java常用的标准GUI组件及事件处理2课程设计任务与要求:设计一个能实现计算器功能的Java程序,可以进行加、减、乘、除另外可适当加上阶乘、正弦、余弦和指数运算。中间可以加入一些自己的想法,比如界面如何设计出一些特色,算法的实现是否可以加入自己的想法,以上种种各样的想法以及构思。Java中提供了大量的类有一些问题的解决方法根本不用自己去从新定义,前人已经栽好了树我们只需要直接拿过来用就好了,所以对于一些你想解决但觉得自己又解决不了的问题,可以上网上查查有没有类似的已经

3、有现成的函数拿过来用用。3课程设计说明书一、需求分析计算器大家都不陌生,使用量也是非常的大,所以一款操作方便结构丰富的计算器是非常有必要的,所以我们在这里设计出一款适合大众的计算器。输入一个数字输入一个数字输入一个数字输入一个数字Div输入一个数字Display方法显示读入下一个符号MulAddSubCosSinPowJiecheng输入一个数字输入一个数字输入一个数字输入一个数字FunjiechengMath.powMath.sinMath.cosMath.divMath.mulMath.subMath.addDisplay方法显示二、概要设计Calculator类用来实现所要应用的各种功能

4、:Calculator extends JFramepnl1: JPanelpnl2: JPaneltextfild: JTextFieldgrd: GridLayoutb0: uttonActionListenerb1 :uttonb2: uttonb3: uttonb4: utton b5 :uttonb6: utton b7: utton b8: utton b9: utton bp: utton bd: uttonbadd:uttonbsub:uttonbmul: :uttonbdiv:uttonbcos: :utton bsin:uttonbjiecheng:utton bpow:u

5、tton beql:utton bclear:uttonnum1:doublenum2:doubleend:booleanadd: booleansub: booleanmul: booleandiv: booleancos: booleansin: booleanjiecheng : booleanpow: booleanCalculatorFunjiechengactionPerformendDisplay加上代码:public class Calculator extends JFrame implements ActionListenerJMenuBar mb;JMenu menu;J

6、MenuItem t,t1,t2;JPanel pnl1,pnl2;JTextField textfild;GridLayout grd;utton b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,bp,bd;utton badd,bsub,bmul,bdiv,bcos,bsin,bjiecheng,bpow,beql,bclear;String str;boolean end,add,sub,mul,div,cos,sin,jiecheng,pow;double num1,num2;Calculatorpublic void actionPerformedelse ife.get

7、Source=bsubelse ife.getSource=bmulelse if e.getSource=bdivelse ife.getSource=bcosend=true;/输入结束else ife.getSource=bsinelse ife.getSource=bjiechengelse ife.getSource=bpowelse ife.getSource=bclearbd.setEnabled;textfild.setText;else ife.getSource=bdstr=textfild.getText;str+=.;textfild.setText;bd.setEna

8、bled;else ife.getSource=beqlbd.setEnabled;num2=Double.parseDoubletextfild.getText;/数字类型转化ifnum1=num1+num2;else ifnum1=num1-num2;else ifnum1=num1*num2;else ififtextfild.setText;return;num1=num1/num2;else ifnum1=Math.cos;else ifnum1=Math.sin;else ifnum1=funjiecheng;else ifnum1=Math.pow;/调用库函数中的pow方法te

9、xtfild.setTextString.valueOf;/把所得结果显示在文本框end=true;public double funjiechengdouble num=1;ifnum=1;elsenum=num*funjiecheng;return num;public void DisplayString s=null;s=String.valueOf;if/如果数字输入结束,则将文本框置零,重新输入textfild.setText;end=false;iftextfild.getText.equals/如果文本框的内容为零,则覆盖文本框的内容textfild.setText;elses

10、tr=textfild.getText+s;textfild.setText;Text类是对Calculator类的详细实现及其测试:Textmainpublic class Textpublic static void mainnew Calculator;三、详细设计加上代码:import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Calculator extends JFrame implements ActionListenerJMenuBar mb;JMenu menu;JMenuItem

11、 t,t1,t2;JPanel pnl1,pnl2;JTextField textfild;GridLayout grd;utton b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,bp,bd;utton badd,bsub,bmul,bdiv,bcos,bsin,bjiecheng,bpow,beql,bclear;String str;boolean end,add,sub,mul,div,cos,sin,jiecheng,pow;double num1,num2;Calculatorsuper;grd=new GridLayout;this.setDefaultCloseOp

12、eration;pnl1=new JPanel;pnl2=new JPanel; Container cp=this.getContentPane;/注意getContentPane cp.add; cp.add; pnl1.setBackground; pnl2.setBackground;this.setBounds;textfild=new JTextField;textfild.setHorizontalAlignment; mb=new JMenuBar; menu=new JMenu; t=new JMenuItem; t1=new JMenuItem; t2=new JMenuI

13、tem; menu.add; menu.add; menu.add; mb.add;b0=new utton;b1=new utton;b2=new utton;b3=new utton;b4=new utton;b5=new utton;b6=new utton;b7=new utton;b8=new utton;b9=new utton;bd=new utton;bdiv=new utton;bdiv.setForeground;bmul=new utton;bmul.setForeground;badd=new utton;badd.setForeground;bsub=new utto

14、n;bsub.setForeground;bcos=new utton;bcos.setForeground;bsin=new utton;bsin.setForeground;bjiecheng=new utton;bjiecheng.setForeground;bclear=new utton;bpow=new utton;bpow.setForeground;beql=new utton; pnl1.add;pnl1.add;pnl2.add;b9.addActionListener;pnl2.add;b8.addActionListener;pnl2.add;b7.addActionL

15、istener;pnl2.add;bdiv.addActionListener;pnl2.add;b6.addActionListener;pnl2.add;b5.addActionListener;pnl2.add;b4.addActionListener;pnl2.add;bmul.addActionListener;pnl2.add;b3.addActionListener;pnl2.add;b2.addActionListener;pnl2.add;b1.addActionListener;pnl2.add;badd.addActionListener;pnl2.add;bsub.ad

16、dActionListener;pnl2.add;b0.addActionListener;pnl2.add;bd.addActionListener;pnl2.add;bjiecheng.addActionListener;pnl2.add;badd.addActionListener;pnl2.add;bsin.addActionListener;pnl2.add;bcos.addActionListener;pnl2.add;bpow.addActionListener;pnl2.add;bclear.addActionListener;pnl2.add;beql.addActionLi

17、stener;this.setVisible;public void actionPerformedife.getSource=b0Display;else ife.getSource=b1Display;else ife.getSource=b2Display;else ife.getSource=b3Display;else ife.getSource=b4Display;else ife.getSource=b5Display;else ife.getSource=b6Display;else ife.getSource=b7Display;else ife.getSource=b8Di

18、splay;else ife.getSource=b9Display;else ife.getSource=baddadd=true;sub=false;mul=false;div=false;cos=false;sin=false;jiecheng=false;pow=false;bd.setEnabled;num1=Double.parseDoubletextfild.getText;/接收第一个字符并转化成double 型end=true;/输入结束else ife.getSource=bsubadd=false;sub=true;mul=false;div=false;cos=fals

19、e;sin=false;jiecheng=false;pow=false;bd.setEnabled;num1=Double.parseDoubletextfild.getText;/接收第一个字符并转化成double 型end=true;/输入结束else ife.getSource=bmuladd=false;sub=false;mul=true;div=false;cos=false;sin=false;jiecheng=false;pow=false;bd.setEnabled;num1=Double.parseDoubletextfild.getText;/接收第一个字符并转化成do

20、uble型end=true;/输入结束else if e.getSource=bdivadd=false;sub=false;mul=false;div=true;cos=false;sin=false;jiecheng=false;pow=false;num1=Double.parseDoubletextfild.getText;/接收第一个字符并转化成double型end=true;/输入结束else ife.getSource=bcosadd=false;sub=false;mul=false;div=false;cos=true;sin=false;jiecheng=false;pow

21、=false;bd.setEnabled;num1=Double.parseDoubletextfild.getText;/接收第一个字符并转化成double型end=true;/输入结束else ife.getSource=bsinadd=false;sub=false;mul=false;div=false;cos=false;sin=true;jiecheng=false;pow=false;bd.setEnabled;num1=Double.parseDoubletextfild.getText;/接收第一个字符并转化成double型end=true;/输入结束else ife.get

22、Source=bjiechengadd=false;sub=false;mul=false;div=false;cos=false;sin=false;jiecheng=true;pow=false;bd.setEnabled;num1=Double.parseDoubletextfild.getText;/接收第一个字符并转化成double 型end=true;/输入结束else ife.getSource=bpowadd=false;sub=false;mul=false;div=false;cos=false;sin=false;jiecheng=false;pow=true;bd.se

23、tEnabled;num1=Double.parseDoubletextfild.getText;/接收第一个字符并转化成doubleend=true;/输入结束else ife.getSource=bclearbd.setEnabled;textfild.setText;else ife.getSource=bdstr=textfild.getText;str+=.;textfild.setText;bd.setEnabled;else ife.getSource=beqlbd.setEnabled;num2=Double.parseDoubletextfild.getText;/数字类型转

24、化ifnum1=num1+num2;else ifnum1=num1-num2;else ifnum1=num1*num2;else ififtextfild.setText;return;num1=num1/num2;else ifnum1=Math.cos;else ifnum1=Math.sin;else ifnum1=funjiecheng;else ifnum1=Math.pow;/调用库函数中的pow方法textfild.setTextString.valueOf;/把所得结果显示在文本框end=true;public double funjiechengdouble num=1;

25、ifnum=1;elsenum=num*funjiecheng;return num;public void DisplayString s=null;s=String.valueOf;if/如果数字输入结束,则将文本框置零,重新输入textfild.setText;end=false;iftextfild.getText.equals/如果文本框的内容为零,则覆盖文本框的内容textfild.setText;elsestr=textfild.getText+s;textfild.setText;public class Textpublic static void mainnew Calcu

26、lator;4课程设计成果4*5=20说明书:此计算器使用方便,可以实现连续不同优先级的运算。当进行一次运算后,再点击数字按钮则开始新一轮的运算,如果在是运算后直接点运算符号加减等则会直接继续上次的结果进行运算。5.课程设计心得这次的课程设计我们遇到了好多的问题,但总体上还是平稳的度过了这两周,最终也是我收获了不少的知识,平时上课讲的都是零零散散的知识点,现在将他运用到实际的列子中去,除了要掌握知识点,还要有综合运用知识点的能力,这一点是上课以及平时所训练不到的。通过此次课程设计,我明白了很多东西都是办法比问题多,刚开始拿到赵老师给的几个课设题目,左挑右看感觉饿每一个都好难做,最终在和小组成员商讨决定过后,选定了这个题目便开始我们的分工,先一起研讨题目,构思出各自的想法,对于不太了解的东西我们一起讨论,如果还是不能解决,便上网上求问。然后再次讨论!一直到讨论出答案为止,如此循环下去。最终问题被我们一个个解决。.

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!