Java计算器课程设计报告 - 副本
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JAVA课程设计
小型计算器
学生姓名:
指导教师:李明江
系别:计算机科学系
专业:计算机科学与技术
年级:2008 应用2班
提交时间:2010年 12 月 22日学号:
目录
一概述 (3)
二总体方案设计 (4)
三详细设计 (6)
四程序的调试与运行结果说明.. 10 五课程设计总结 (19)
六附录...... 错误!未定义书签。
一设计任务书
1.程序具备的功能:
(1)使用图形用户界面:一个文本框;0-9数字按钮;加、减、乘、除运算符;“等于”符号;复位按钮;
(2)完成整数、实数的四则运算(加、减、乘、除);
(3)通过按钮点击实现数据的复位(清零);(4)实数运算中小数位的精度一致。
2.课程设计的主要设计思想
对于此计算器程序,首先要设计其GUI 界面,总体界面有一个文本框,18个按钮,总体界面用BorderLayout布局。
文本框放置在最NORTH,然后0到9以及+,-,*,/的按钮放置到一个面板Panel 中,添加到整体布局的CENTER,界面设计
完成。
布局设计好后再添加按钮事件。对于此程序要考虑到点击加、减、乘、除按钮时是否有点击数字按钮,如果是第一次点击数字按钮或者是点击数字按钮前点击了加、减、乘、除按钮则直接把数字按钮的数值设置到文本框中,否则则应把文本框中的内容加上你所点击按钮的数值设置到文本框中。
在进行加、减、乘、除计算时要把点击加、减、乘、除按钮之前的数值保存下来,运算时是这个被保存下来的数值和文本框中的数值加、减、乘、除。
二总体方案设计
1.界面设计
界面设计要求用GUI,界面设计中有用到swing组件的TextField和Button,用到awt 中的BorderLayout和GridLayout布局管理方
式,其图形界面如下:
2.功能介绍
这是计算器中的一种:简单计算器,本项目用到了Java中的GUI界面和swing组件以及awt布局,所以简单易用,它能完成如下的几个小功能:
点击按钮中的数字键和运算符键就能进行简单的加、乘、乘、除求模四则运算;
还能通过用户自己在文本框中输入数字,进行简单运算;
如果输入有误时可以按Clear撤销后重新输入新数据
三详细设计主题任务
程序流程图如下:
部分代码展示及说明:
这段代码主要是对程序的主框架进行相应的设置。
Frame f=new Frame("计算器");
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);//设置为可视
这段代码是对程序如何进行运算的设计
if(y==0&&command!="*"&&command! ="/"
&&command!="+"&&command!="-"
&&command!="=")//判断输入是否为数字
{
s1=s1.concat(command);
tf.setText(s1);
}
if(command=="*"||command=="/"
||command=="+"||command=="-")//判断是否
输入运算符
{
y=1;
s2=command;
}
if(y==1&&command!="*"&&command!="/"
&&command!="+"&&command!="-"
&&command!="=") {
s3=s3.concat(command);
tf.setText(s3);
}
if(command=="=")
{
Double ob1=Double.valueOf(s1);
Double ob3=Double.valueOf(s3);
d1=ob1.doubleValue();
d3=ob3.doubleValue();
if(s2=="+") d4=d1+d3;
if(s2=="-") d4=d1-d3;
if(s2=="*") d4=d1*d3;
Double ob4=new Double(d4);
tf.setText(ob4.toString());
if(s2=="/")
{ if(d3==0)
tf.setText("除数不能为零");
else{ d4=d1/d3;
ob4=new Double(d4);
tf.setText(ob4.toString());}
}
y=0;
}
这段代码主要为窗口关闭按钮编写程序
class closeWin extends WindowAdapter //为关闭按钮编写程序
{
public void windowClosing(WindowEvent e)
{ System.exit(0);