java 计算器课程设计报告包含代码Word格式.docx
《java 计算器课程设计报告包含代码Word格式.docx》由会员分享,可在线阅读,更多相关《java 计算器课程设计报告包含代码Word格式.docx(8页珍藏版)》请在冰豆网上搜索。
![java 计算器课程设计报告包含代码Word格式.docx](https://file1.bdocx.com/fileroot1/2022-11/28/87ded9cc-020c-410f-81e4-a4a24fae687f/87ded9cc-020c-410f-81e4-a4a24fae687f1.gif)
“等于”符号;
复位按钮;
(2)完成整数、实数的四则运算(加、减、乘、除);
(3)通过按钮点击实现数据的复位(清零);
(4)实数运算中小数位的精度一致。
2、课题设计思想
对于此计算器程序,首先要设计其GUI界面,总体界面有一个文本框,18个按钮,总体界面用BorderLayout布局。
文本框放置在最NORTH,然后0到9以及+,-,*,/的按钮放置到一个面板Panel中,添加到整体布局的CENTER,界面设计完成。
布局设计好后再添加按钮事件。
对于此程序要考虑到点击加、减、乘、除按钮时是否有点击数字按钮,如果是第一次点击数字按钮或者是点击数字按钮前点击了加、减、乘、除按钮则直接把数字按钮的数值设置到文本框中,否则则应把文本框中的内容加上你所点击按钮的数值设置到文本框中。
这是计算器中的一种:
简单计算器,本项目用到了Java中的GUI界面和swing组件以及awt布局,所以简单易用,它能完成如下的几个小功能:
点击按钮中的数字键和运算符键就能进行简单的加、乘、乘、除求模四则运算;
还能通过用户自己在文本框中输入数字,进行简单运算;
如果输入有误时可以按Clear撤销后重新输入新数据。
二、详细设计过程
1、界面设计
界面设计要求用GUI,界面设计中有用到swing组件的TextField和Button,用awt中的BorderLayout和GridLayout布局管理方式,窗体名称jisuan继承JFrameActionListener接口,并实现publicvoidactionPerformed(ActionEvente){}方法。
定义菜单、菜单条、菜单项、按钮、文本框、容器,设置为private类型。
定义变量doublememoryd;
//使用内存中存储的数字;
DecimalFormatdf;
//保留小数位数。
使用privateJButtongetJButton()方法添加按钮并给按钮命名,使用setFont(newFont("
楷体"
Font.BOLD,30));
setForeground(newColor(250,0,0));
方法设置按钮的字体和字体颜色。
设置数字按钮1到9并添加监控,使其在发生鼠标事件时改变按钮颜色,其图形界面如下图1-1所示:
图1-1
2、详细设计
根据课题设计的具体要求画出如下图所示的流程图:
图1-2
(1)这段代码主要是对程序的主框架进行相应的设置
Framef=newFrame("
计算器"
);
f.setBackground(Color.lightGray);
f.setForeground(Color.blue);
f.add(p1,BorderLayout.NORTH);
f.add(p2,BorderLayout.CENTER);
f.add(p3,BorderLayout.SOUTH);
f.setSize(350,300);
//设置大小
f.setVisible(true);
//设置为可视
(2)设置数字按钮1到9并添加监控,使其在发生鼠标事件时改变按钮颜色
addMouseListener(newMouseListener(){
publicvoidactionPerformed(MouseEvente){
jButton.setForeground(newColor(0,100,0));
}
publicvoidmouseClicked(MouseEvente){
jButton.setForeground(newColor(0,150,100));
publicvoidmouseEntered(MouseEvente){
jButton.setForeground(newColor(0,0,250));
publicvoidmouseExited(MouseEvente){
jButton.setForeground(newColor(250,0,0));
publicvoidmousePressed(MouseEvente){
jButton.setForeground(newColor(0,250,0));
publicvoidmouseReleased(MouseEvente){
jButton.setForeground(newColor(250,250,0));
}});
(3)在基本的运算中重点介绍一下除法运算jButton3=newJButton("
x/y"
定义double变量c用来存放从除数文本框中读出的数据,设置if……else语句来判断当c==0时在文本框中输出“除数不能等于0”,否则就输出结果
jButton3.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
doublec=Double.parseDouble(jTextField.getText());
doubled=Double.parseDouble(jTextField.getText());
doublea;
if(c==0){jTextField.setText("
除数不能等于0"
}else{a=d/c;
jTextField.setText(Double.toString(d));
}}});
(4)这段代码主要为窗口关闭按钮编写程序
classcloseWinextendsWindowAdapter//为关闭按钮编写程序
{
publicvoidwindowClosing(WindowEvente)
{System.exit(0);
}
3、类的种类如图1-2显示
图1-3
三、程序的调试与运行结果说明,下面列举几种特殊情况下的具体操作
事例1:
当除数为0时,程序运行结果如图1-3:
图1-4
事例2:
4561+8715预计结果13276实际结果如图1-4:
图1-5
4、存在问题
因为第一次设计JAVA程序,有很多地方没有想到,这次设计计算器,也有很多没有完善的地方,比如:
计算器除数不能为0,但我们这次设计的计算器没考虑到这个方面,使得计算器在这种情况下不能正常计算,后经过老师的知道和查阅参考书,解决了这个问题,只需一行代码即可:
if(d3==0)tf.setText("
除数不能为零"
)。
5、主要收获
这次的程序设计,从一个简单的计算器就可以看出JAVA的程序设计不是那么简单,仅仅是一个小小的计算器,就已经有很多需要注意的问题,一不小心就会出错,还会有很多地方没怎么明白,而计算器的设计是最简单的几个设计其中之一,可见,平时的知识积累是很重要的。
没有知识的积累,再简单的东西也不可能设计出来。
课程设计还让我们练习了动手能力,使我们平时学习的知识得以在实际中应用,不会学死书,活学活用,很大程度上提高了我们的能力,对以后的学习、工作、生活也会有一定的帮助。
通过此次的程序设计,让我了解了JAVA的更多知识,使平时的知识可以运用,更好的理解了JAVA这门课程。
课程设计要求
各专业学生应根据课程任教老师的要求,做出选题计划,并按下列要求完成课程设计任务。
一、学生应按照老师的要求完成规定的课程设计任务量。
二、课程设计报告书要求格式统一,字迹工整,语言简练,文字通顺,按课程设计格式要求书写。
程序清单不够填写时统一用A4纸补充并粘贴。
对不按格式要求书写或打印的报告书一律不收,也不得进行答辩和评分。
三、必须独立完成课程设计,不得相互抄袭。
在答辩和批阅过程中发现源程序相同或有大面积抄袭现象,课程任教老师有权通知学生重做,不得给予评分,并通知相关系部做出处理。
四、学生课程设计结束后应提交的材料:
(1)课程设计说明书(3000字以上);
(2)包含完整的、正确的源程序代码(含电子文档);
(3)答辨材料(介绍课程设计要点)。
参考文献情况
序号
名称
编著者
出版社
1
Java语言程序设计
郑莉
清华大学出版社
2
Java程序设计实训教程
张小波
冶金工业出版社
3
Java程序设计
魏衍君
中国商业出版社
4
Java应用与开发案例教程
徐谡
教师评价情况
指导老师评语:
指导老师:
_____________(签名)
日期:
年月日
学生答辩情况
答辩(组)评语:
主答辩老师:
____________(签名)
答辩日期:
综合成绩评定情况
综合评价等级:
__________________
注:
共分五个等级(1.优秀2、良好3、中等4、及格5、不合格)
课程设计考核情况