java课程实习报告.doc
- 文档编号:231019
- 上传时间:2022-10-07
- 格式:DOC
- 页数:8
- 大小:50KB
java课程实习报告.doc
《java课程实习报告.doc》由会员分享,可在线阅读,更多相关《java课程实习报告.doc(8页珍藏版)》请在冰豆网上搜索。
计算器设计
摘要:
利用JAVA语言设计出简易的计算器,能实现加减乘除等简单运算。
整个设计包括界面布局和功能实现。
程序开发主要运用了IF语句,监听者,以及布尔变量等。
1、概要设计
1.1开发工具及环境
文本编辑器:
记事本;
运行环境:
命令提示符(DOS环境)。
1.2任务及需求分析
设计简易计算器程序,实现简单的运算(加减乘除),具体任务如下:
1)计算器窗口界面布局设计;
2)各种计算功能的算法分析;
3)编程实现具体的计算功能;
4)运行测试程序,调试纠正运行错误。
5)调试无误,运行,测试具体算法功能。
1.3功能模块设计
计算器的模块设计图如下:
计算器界面
加运算
减运算
乘运算
除运算
归零
1.4工作原理
点击相应的数字键,即会在显示文档中显示该数字。
进行相应的运算,首先输入第一个计算数字,然后输入运算符,再输入第二个计算数字,点击“=”按钮即得计算结果。
同时,还有归零功能,点击该按钮,显示栏中即可归零。
2、具体实现
2.1类设计
类名:
jisuanqi
作用:
功能代码,窗口布局设定
publicclassCalculatorextendsWindowAdapter
{}
WindowAdapter实现了WindowListener的类,实现了WindowListener
frame.addWindowListener(newWindowAdapter(){});———————————————————————————
类名:
WindowDestroyer
作用:
用于退出窗口动作
关键代码:
classcloseimplementsActionListener{
publicvoidactionPerformed(ActionEvente){
System.exit(0);
}
2.2模块及实现代码介绍
Framefm=newFrame("简单计算器");
for(inti=0;i<=16;i++){
b[i]=newButton(ss[i]);
}
for(inti=0;i<=15;i++){
p2.add(b[i]);
}//创建按钮并添加到P2
b[16].setBackground(Color.yellow);
txt=newTextField(15);
txt.setEditable(false);
for(inti=0;i<=16;i++){
b[i].addActionListener(newbuttonlistener());……}
注:
此方法主要设置窗口、面板、各个按键。
对各个按键进行定义(定义好各按键该实现什么功能)、排布,将各个按键注册到监听器上。
———————————————————————————
txt.setText(txt.getText()+btn.getLabel());
if(btn.getLabel()=="归零")
txt.setText("");
注:
该代码使每次进入时的文本都清空
———————————————————————————
classcloseimplementsActionListener{//退出
publicvoidactionPerformed(ActionEvente){
System.exit(0);
}
注:
该方法实现了窗口的关闭
3、运行调试与分析讨论
调试运行4*5运算,运算过程如下所示:
1)命令提示符中运行计算器程序,如下图:
2)计算器界面显示,输入第一个运算值“4”,如下图:
3)输入运算符“*”,如下图:
4)输入第二个运算值“5”,如下图所示:
5)点击计算器按钮“=”,得出计算结果。
如下图:
4、设计体会与小结
附录:
(源程序)
importjava.awt.*;
importjava.awt.event.*;
publicclassjisuanqiextendsWindowAdapter{
Panelp1=newPanel();
Panelp2=newPanel();
Panelp3=newPanel();
TextFieldtxt;
privateButton[]b=newButton[17];
privateStringss[]={"7","8","9","+","4","5","6","-","1","2","3","*","归零","0","=","/","关闭"};
staticdoublea;
staticStrings,str;//定义变量创建对像
publicstaticvoidmain(Stringargs[]){
(newjisuanqi()).frame();
}
publicvoidframe(){
Framefm=newFrame("简单计算器");
for(inti=0;i<=16;i++){
b[i]=newButton(ss[i]);
}
for(inti=0;i<=15;i++){
p2.add(b[i]);
}//创建按钮并添加到P2
b[16].setBackground(Color.yellow);
txt=newTextField(15);
txt.setEditable(false);
for(inti=0;i<=16;i++){
b[i].addActionListener(newbuttonlistener());//添加监听器
}
b[16].addActionListener(newclose());
fm.addWindowListener(this);
fm.setBackground(Color.red);
p1.setLayout(newBorderLayout());
p1.add(txt,"North");
p2.setLayout(newGridLayout(4,4));
p3.setLayout(newBorderLayout());
p3.add(b[16]);
fm.add(p1,"North");
fm.add(p2,"Center");
fm.add(p3,"South");
fm.pack();
fm.setVisible(true);//都是些窗中设置添加相关组件和监听器
}
publicvoidwindowClosing(WindowEvente){
System.exit(0);//退出系统
}
classbuttonlistenerimplementsActionListener{
//编写监听器事件通过按键得出给果
publicvoidactionPerformed(ActionEvente){
Buttonbtn=(Button)e.getSource();
if(btn.getLabel()=="="){
jisuan();
str=String.valueOf(a);
txt.setText(str);
s="";
}elseif(btn.getLabel()=="+"){
jisuan();
txt.setText("");
s="+";
}elseif(btn.getLabel()=="-"){
jisuan();
txt.setText("");
s="-";
}elseif(btn.getLabel()=="/"){
jisuan();
txt.setText("");
s="/";
}elseif(btn.getLabel()=="*"){
jisuan();
txt.setText("");
s="*";
}else{
txt.setText(txt.getText()+btn.getLabel());
if(btn.getLabel()=="归零")
txt.setText("");
}
}
publicvoidjisuan(){//编写具体计算方法
if(s=="+")
a+=Double.parseDouble(txt.getText());
elseif(s=="-")
a-=Double.parseDouble(txt.getText());
elseif(s=="*")
a*=Double.parseDouble(txt.getText());
elseif(s=="/")
a/=Double.parseDouble(txt.getText());
else
a=Double.parseDouble(txt.getText());
}
}
}
classcloseimplementsActionListener{//退出
publicvoidactionPerformed(ActionEvente){
System.exit(0);
}
}
7
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 课程 实习 报告