Java计算器.docx
- 文档编号:9431268
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:11
- 大小:90.94KB
Java计算器.docx
《Java计算器.docx》由会员分享,可在线阅读,更多相关《Java计算器.docx(11页珍藏版)》请在冰豆网上搜索。
Java计算器
实验报告
题目:
Java程序设计实验
学院计算机科学与技术
专业xxxxxxxxxxxxxxxx
学号xxxxxxxxxxx
姓名xxxxxx
指导教师x
20xx年xx月xx日
摘要
通过设计简单计算器,掌握java程序图形界面设计的基本方法。
要求实现简单计算器的加减乘除功能
关键词:
swing;panel
目录
1需求分析…………………………………………………………………1
2整体设计…………………………………………………………………2
3详细设计…………………………………………………………………3
3.1界面设计………………………………………………………………3
3.2详细设计………………………………………………………………3
4调试与测试………………………………………………………………4
参考文献……………………………………………………………………6
附录…………………………………………………………………………7
1需求分析
通过设计简单计算器,掌握java程序图形界面设计的基本方法。
要求实现简单计算器的加减乘除功能。
操作系统为Windows8.164bit,jdk版本号1.8update2564bit,开发软件为EclipseJavaEEIDE4.4.1。
2整体设计
采用
java的swing模块生成窗口及按钮,窗口包含可点击的数字键及操作符按钮,当点击按钮时屏幕显示相应的操作结果。
3详细设计
3.1界面设计
利用java.awt.Panel类生成两个panel,panel1分别放置数字键及操作按钮,panel2放置显示结果区域及重置计算器的按钮。
点击按钮时屏幕显示对应操作。
在panel1中,利用java.awt.Button类生成按钮并添加;在panel2中,利用java.awt.TextField生成显示结果的区域。
通过setPreferredSize方法设置窗体的大小
3.2程序设计
设置double型变量number用于存放当前操作数,String类operator用于标识当前操作符。
每当点击按钮时判断当前按钮功能,若为数字则向显示区域存入,若为操作符则将显示区域的字符串显示转换为操作数并设置操作符。
布尔型变量isFirstDigit用于辅助实现连续运算。
CE按钮用于重启计算器,点击后调用handleReset()将显示区域内容置0,并将操作符重新设置为“=”
4调试与测试
运行初始界面如图:
输入1/2,计算结果为:
顺序输入1+2*4,为:
C点击CE,计算器重置:
参考文献
Java程序设计基础实用教程(第3版)叶核亚电子工业出版社2011年5月
附录
package计算器;
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
publicclass计算器extendsJFrameimplementsActionListener{
privatestaticfinallongserialVersionUID=1L;
//关闭
privateclassWindowCloseextendsWindowAdapter{
publicvoidwindowClosing(WindowEventwe){
System.exit(0);
}
}
//数字和操作符
privatefinalString[]str={"7","8","9","/","4","5","6","*","1",
"2","3","-","0",".","=","+"};
//生成按钮
Button[]buttons=newButton[str.length];
//取消或重置
Buttonreset=newButton("CE");
//生成结果显示区域
TextFielddisplay=newTextField("0");
public计算器(){
super("计算器");
//添加面板
Panelpanel1=newPanel(newGridLayout(4,4));
//生成按钮
for(inti=0;i buttons[i]=newButton(str[i]); panel1.add(buttons[i]); } Panelpanel2=newPanel(newBorderLayout()); Dimensiondimp=newDimension(220,40); panel2.setPreferredSize(dimp); Fontfontp=newFont("微软雅黑",Font.TRUETYPE_FONT,11); panel2.setFont(fontp); panel2.add("Center",display); panel2.add("East",reset); getContentPane().setLayout(newBorderLayout()); getContentPane().add("North",panel2); getContentPane().add("Center",panel1); for(inti=0;i buttons[i].addActionListener(this); reset.addActionListener(this); display.addActionListener(this); addWindowListener(newWindowClose()); //设置窗口大小 Dimensiondim=newDimension(220,220); setPreferredSize(dim); //显示窗口 setVisible(true); pack(); //是否可改变大小 //setResizable(false); setLocationRelativeTo(null); Fontfont=newFont("微软雅黑",Font.BOLD,11); setFont(font); repaint(); } publicvoidactionPerformed(ActionEvente){ Objecttarget=e.getSource(); Stringlabel=e.getActionCommand(); if(target==reset) handleReset(); elseif("0123456789.".indexOf(label)>0) handleNumber(label); else handleOperator(label); } booleanisFirstDigit=true; publicvoidhandleNumber(Stringkey){ if(isFirstDigit) display.setText(key); elseif((key.equals("."))&&(display.getText().indexOf(".")<0)) display.setText(display.getText()+"."); elseif(! key.equals(".")) display.setText(display.getText()+key); isFirstDigit=false; } //重置计算器 publicvoidhandleReset(){ display.setText("0"); isFirstDigit=true; operator="="; } doublenumber=0.0; Stringoperator="="; publicvoidhandleOperator(Stringkey){ if(operator.equals("+")) number+=Double.valueOf(display.getText()); elseif(operator.equals("-")) number-=Double.valueOf(display.getText()); elseif(operator.equals("*")) number*=Double.valueOf(display.getText()); elseif(operator.equals("/")) number/=Double.valueOf(display.getText()); elseif(operator.equals("=")) number=Double.valueOf(display.getText()); display.setText(String.valueOf(number)); operator=key; isFirstDigit=true; } publicstaticvoidmain(String[]args){ new计算器(); } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 计算器