浙江科技学院
经济管理学院
JAVA语言课程设计报告
选题名称简单计算器
学生学号
专业班级信管101
学生姓名
学生成绩
指导教师朱军
工作时间2013-7-5
目录
第一章选题简介
第二章需求分析
1.系统要实现的目标分析
2.对输入输出数据及流程的分析
3.开发环境及运行环境分析
第三章系统设计
1.系统功能模块设计
2.类设计
3.数据库的设计(如果有)
4.界面设计
第四章测试
1.测试用例及结果
2.程序功能的评价
第五章总结
1.遇到的问题及解决的方法
2.开发体会及自评成绩
参考文献
第一章选题简介:简单计算器
第二章需求分析
1.系统要实现的目标分析:设计一个简单计算器,点击按钮中的数字键和运算符键就能进行简单的加、乘、乘、除求模四则运算;如果输入有误时可以按Clear撤销后重新输入新数据。
2.对输入输出数据及流程的分析:输入的符号有JiSuanQi、File、Edit、Help、on、off、close、copy、0、1、2、3、4、5、6、7、8、9、+、-、*、/、=、Backspace、CE、C,中文意思依次是计算器、文件夹、项目、帮助、开、关、复制、0、1、2、3、4、5、6、7、8、9、加、减、乘、除、等于、退格;
3.开发环境及运行环境分析:Microsoft Windows2000、jdk1.7.0_25、JCreator Pro;
第三章系统设计
1.系统功能模块设计:加、减、乘、除运算;“等于”符号;复位;
2.类设计:public void disp()
创建无值函数disp(),用来存放界面所需要展示的元素,包
括有面板,按钮,弹出对话框,显示框等。
public void actionPerformed(ActionEvent e)
创建无值函数actionPerformed(ActionEvent e),其允许的输入
值类型为ActionEvent e,在里面编写的是加减乘除等一些算
法。
public void setSum()
创建无值函数setSum(),显示出经过算法计算出的结果,
public void windowClosing(WindowEvent e)
创建无值函数windowClosing(WindowEvent e),当显示程序
界面右上角的x时,将关闭程序。
public static void main(String args[])
创建静态无值函数main主函数,用来调用以上所示的函数。
3.数据库的设计(如果有):没有。
4.界面设计:界面设计中有用到swing组件的TextField和Button,用awt中的BorderLayout和GridLayout布局管理方式,窗体名称jisuan继承JFrameActionListener接口,并实现public void actionPerformed(ActionEvent e){}方法。
定义菜单、菜单条、菜单项、按钮、文本框、容器,设置为private类型。
定义变量double memoryd;//使用内存中存储的数字;DecimalFormat df;//保留小数位数。
setTitle("jisuanqi");设计标题计算器
panel1=new JPanel();
panel2=new JPanel();
panel3=new JPanel();
menubar=new JMenuBar();
menu1=new JMenu("File");设计菜单文件
menu2=new JMenu("Edit");设计菜单项目
menu3=new JMenu("Help");设计菜单帮助
menuitem1=new JMenuItem("ON");设计菜单项打开计算器
menuitem2=new JMenuItem("OFF");设计菜单项关闭计算器
menuitem3=new JMenuItem("Close");关闭程序
menuitem4=new JMenuItem("Copy");复制
menuitem5=new JMenuItem("Help");帮助
label=new JLabel("");
b1=new JButton("7");b2=new JButton("8");b3=new JButton("9");b4=new
JButton("/");
b5=new JButton("sqrt");b6=new JButton("4");b7=new JButton("5");b8=new JButton("6");
b9=new JButton("*");b10=new JButton("%");b11=new JButton("1");b12=new JButton("2");
b13=new JButton("3");b14=new JButton("-");b15=new JButton("1/x");b16=new JButton("0");
b17=new JButton("+/-");b18=new JButton(".");b19=new JButton("+");b20=new JButton("=");
b01=new JButton("Backspace");b02=new JButton("CE");b03=new JButton("C");
b04=new JButton("ON");b05=new JButton("OFF");
setSize(350,240);测试用例及结果
加法截图:9+6=15
减法截图:9-6=3
乘法截图:9*6=54
除法截图:9/6=1.5
2.程序功能的评价:比较准确,操作简单方便,适合大多数用户。
第五章总结
1.遇到的问题及解决的方法:很少设计JAVA程序,有很多地方没有想
到,这次设计计算器,也有很多没有完善的地方,比如:计算器除数不能为0,但这次设计的计算器没考虑到这个方面,使得计算器在这种情况下不能正常计算,后经过老师的指导和查阅参考书,解决了这个问题,只需一行代码即可:if(d3==0)tf.setText("除数不能为零")。
2.开发体会及自评成绩:开发体会:本次课程设计到此算是告一段落了,经过这次的学习,我学到了很多东西,在此基础上更加巩固了自己对java 的认识与了解。
在做本项目是时候,会遇到很多小问题,比如说,在整个运算过程中要如何确保输入的计算数据哪个是第一个计算数据的,哪个是第二个计算数据的,同时也要区分运算符,因为该计算器程序应用的都是利用字符串来完成计算的,而且不能重复输出运算符,更不能将运算符错误的存储在了第一个计算数据的数值中,也得考虑到万一不小心重复点击了运算符按钮会不会造成第一个计算数据的
重新赋值等等问题,最后想到利用布尔类型来很好的控制运算符的应用!
由于时间仓促,该程序还有些不足之处,1)该程序未添加异常处理事件,在异常发生的时候,不能够对程序进行处理,但是当该程序发生异常如溢出是,会爱文本显示框内显示infinity字符,提示不可操作或操作错误。
2)人机交互界面还是稍有欠缺的,相信日后或有所改进的。
此次课程设计让我更了解熟悉了Java中的图形用户界面和它的编程方式。
在完成课题的过程中也不断充实了自己,学习到了很多以前没有学习到的知识,收获很大。
最大的收获就是对大学学习的总结和培养了解决困难的信心和能力,使我对所学知识能够融会贯通,又不断丰富了新知识。
Java计算器设计使得我们对所学的专业课有了更为深刻的认识,使得知识得到了巩固和提高。
在接下来的时间里,我觉得我要更加努力的往深一层次的方面看齐,了解更多有关java的知识,对java有更深一步的了解,我会一步一步的走下去!
参考文献:[1]丁振凡.Java语言实用教程(第2版)[M].北京邮电大学出版社. 2008.1
[2]丁振凡.Java语言实用教程实验指导(第2版)[M].北京邮电大学出版社.2008.1
[3]杨树林等.Java语言最新实用案例教程(第2版)[M].清华大学出版社.2010.7
[4]张帆等.Java范例开发大全.清华大学出版社.2009.8。