JAVA程序设计.docx
《JAVA程序设计.docx》由会员分享,可在线阅读,更多相关《JAVA程序设计.docx(12页珍藏版)》请在冰豆网上搜索。
JAVA程序设计
信息科学与工程学院
课程设计任务书
题目:
简单计算器
学号:
201112220130201112220149
姓名:
庞伟朱久丽
年级:
2011级专科一班
专业:
计算机应用技术
课程:
JAVA语言程序设计
指导教师:
刘梦琳职称:
老师
完成时间:
2012-12-24
课程设计任务书及成绩评定
课程设计的任务和具体要求
1.课程设计任务:
设计一个图形界面(GUI)的计算器应用程序,完成简单的算术运算。
通过对计算器的编辑来检测和提升自己的java编程能力,并最终完成课程设计报告!
2.课程设计要求:
(1)应用自己所学课程知识完成对计算器的基本任务。
(2)查阅相关资料,学习和掌握项目中涉及的新知识,提高自学能力。
(3)通过应用java程序编写计算器来提升自己对简单的图形界面有一定的掌握和了解。
指导教师签字:
日期:
指导教师评语:
成绩:
指导教师签字:
日期:
目录
一、需求分析5
二、设计思路6
三、详细设计7
四、运行调试与分析讨论12
五、设计体会与小结14
六、参考文献15
一、需求分析
设计的计算器可以完成加法、减法、乘法、除法的简单运算。
二、设计思路
1.界面设计:
(如图)
图3-1
2.设计思路:
根据所设计出来的界面,首先要设计其GUI界面,总体界面有一个文本框,16个按钮.总体界面用BorderLayout布局,文本框放置在最NORTH,然后0到9以及+,-,*,/等按钮放置到一个面板Panel中,完成界面设计。
三、详细设计
1.程序流程图:
2.所用代码展示
importjava.awt.*;
importjava.awt.event.*;
importjava.applet.*;
publicclassCalculatorextendsApplet
implementsActionListener
{
//弹出窗口
privateCalFramecalFrame=newCalFrame();
publicvoidinit()
{
//弹出的按钮
ButtoncalBtn=newButton("打开计算器");
calBtn.addActionListener(this);
add(calBtn);
}
publicvoidactionPerformed(ActionEvente)
{
//弹出窗口没有被显示,则显示,否则关闭
if(calFrame.isVisible())
calFrame.setVisible(true);
else
calFrame.setVisible(true);
}
privatevoidjbInit()throwsException{
}
classCalFrameextendsFrameimplementsActionListener
{
privateTextFielddisplay=null;
privatedoublearg1=0;
privateStringBufferarg2=newStringBuffer();
privatecharop='=';
publicCalFrame()
{
setTitle("计算器");
setSize(250,250);
setLayout(newBorderLayout(5,5));//采用边界布局
//菜单
MenuBarmb=newMenuBar();
MenumEdit=newMenu("编辑");
MenuItemmCopy=newMenuItem("复制");
mCopy.addActionListener(calFrame);//此时对象?
?
MenuItemmPaste=newMenuItem("粘贴");
mPaste.addActionListener(calFrame);
mEdit.add(mCopy);
mEdit.add(mPaste);
MenumSearch=newMenu("查找");
MenuItemmQuit=newMenuItem("退出");
mCopy.addActionListener(calFrame);
mSearch.add(mQuit);
MenumHelp=newMenu("帮助");
MenuItemmAbout=newMenuItem("关于");
mAbout.addActionListener(calFrame);
mHelp.add(mAbout);
setMenuBar(mb);
setVisible(true);
//输出窗口
display=newTextField("结果显示");
display.setEditable(false);
add(display,"North");
//数字按键面版
Panelkeypad=newPanel();
keypad.setLayout(newGridLayout(4,4));
//添加数字和运算符按键
Stringkeys="789/456*123-0.=+";
for(inti=0;i{
Buttonbtn=newButton(keys.substring(i,i+1));
keypad.add(btn);
//为按键添加事件监听器
btn.addActionListener(this);
add(keypad,"Center");
}
publicvoidactionPerformed(ActionEvente)
{
//响应按键,如果是数字则连接到StringBuffer中,
//如果是运算符则进行运算。
Stringkey=e.getActionCommand();
charc=key.charAt(0);
if((c>='0'&&c<='9'||c=='.'||
(c=='-'&&arg2.length()==0)))
{
arg2.append(c);
display.setText(arg2.toString());
}
else
{
calculator(Double.parseDouble(arg2.toString()));
op=c;
arg2.setLength(0);
if(c=='=')
arg2.append(arg1);
};
}
publicvoidcalculator(doublearg2)
{
//计算
switch(op)
{
case'+':
arg1+=arg2;break;
case'-':
arg1-=arg2;break;
case'*':
arg1*=arg2;break;
case'/':
arg1/=arg2;break;
case'=':
arg1=arg2;break;
default:
break;
}
display.setText(""+arg1);
四、运行调试与分析讨论
1.简单的运算:
(以加法为例:
123+456)
分析:
计算的结果为579.0,为双精度型。
2.正负号的运算:
(以-123为例)
分析:
输出的结果如图所示,正负号添加能够很好的实现。
5.总体分析:
该计算器基本运算没有问题,正负号能很好的实现,总体能完成一个计算器的基本功能,但仍有许多地方需要改进,比如清零的实现所存在的一些问题,虽然在基本的运算过程当中不会造成太大影响,但这依然不能认为是一个很完美的计算器
六、设计体会与小结
本次课程设计到此算是告一段落了,经过这次的学习,我们学到了很多东西,在此基础上更加巩固了自己对java的认识与了解。
此次课程设计让我们更了解熟悉了Java中的图形用户界面和它的编程方式。
在完成课题的过程中也不断充实了自己,学习到了很多以前没有学习到的知识,收获很大。
最大的收获就是对大学学习的总结和培养了解决困难的信心和能力,对所学知识能够融会贯通,又不断丰富了新知识。
Java计算器设计使得我们对所学的专业课有了更为深刻的认识,使得知识得到了巩固和提高。
在接下来的时间里,我们要更加努力的往深一层次的方面看齐,了解更多有关java的知识,对java有更深一步的了解,继续加油!
课程设计所需软件、硬件等
软件:
eclipse
硬件:
计算机
课程设计进度计划
起止日期工作内容备注
2012-12-21至对简易计算器进行设计思路
分析,根据分析进行详细设
2012-12-24计,然后编译程序,进行调
试,分析讨论
参考文献、资料索引(序号、文献名称、编著者、出版单位)
参考文献
[1]丁振凡.Java语言实用教程(第2版)[M].北京邮电大学出版社.2008.1
[2]丁振凡.Java语言实用教程实验指导(第2版)[M].北京邮电大学出版社.2008.1
[3]杨树林等.Java语言最新实用案例教程(第2版)[M].清华大学出版社.2010.7