java编写的计算器设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验7:综合实验二
一、试验目的
进一步掌握图形用户界面GUI,了解Swing组件的使用,以及系统提供的该工具的作用,进一步掌握JA V A事件响应机制的原理,更好的掌握面向对象编程的思路。
二、实验要求
创建一个界面来实现一个简单的计算器,要求:
1、实现最基本的计算器界面,包括:0~9的10个数字按钮,加、减、乘、除、等于5个运算符按钮,一个结果存放的文本区域。
2、实现最基本的加、减、乘、除运算,并能得到正确结果。
3、实现连续的运算,小数点的使用,并考虑各种可能导致异常的情况,将程序作完善;
4、可以通过关闭按钮实现关闭窗口。
三、实验步骤、结果
1、程序代码:
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
public class ZhxCacu extends JFrame implements ActionListener {
JPanel jpResult = new JPanel();
JPanel jpButton = new JPanel();
JTextField jtfResult = new JTextField("0");
JButton zero = new JButton("0"); //数字键0
JButton one = new JButton("1"); //数字键1
JButton two = new JButton("2"); //数字键2
JButton three = new JButton("3"); //数字键3
JButton four = new JButton("4"); //数字键4
JButton five = new JButton("5"); //数字键5
JButton six = new JButton("6"); //数字键6
JButton seven = new JButton("7"); //数字键7
JButton eight = new JButton("8"); //数字键8
JButton nine = new JButton("9"); // 数字键9
JButton plus = new JButton("+");
JButton sub = new JButton("-");
JButton mul = new JButton("*");
JButton div = new JButton("/");
JButton equal = new JButton("=");
JButton ce = new JButton("ce"); // 置零键
JButton point = new JButton(".");
JButton tzero = new JButton("00");
//com代表敲击运算符,digit代表敲击数字键
boolean com = false;
boolean digit = false;
float total=0;
String sum="";
int symbol=0;
int b,c=0;
public ZhxCacu(){
// 添加结果输入框并设置对齐方式
jpResult.setLayout(new BorderLayout());
jpResult.add(jtfResult);
jtfResult.setEditable(false);
jtfResult.setHorizontalAlignment(SwingConstants.RIGHT);
//将组件添加到窗体上
this.add(jpResult,"North");
this.add(jpButton,"Center");
// 定义按钮区域布局管理器为网格布局
jpButton.setLayout(new GridLayout(6, 3, 10, 10));
// 添加各个按钮键
jpButton.add(seven);
jpButton.add(eight);
jpButton.add(nine);
jpButton.add(four);
jpButton.add(five);
jpButton.add(six);
jpButton.add(one);
jpButton.add(two);
jpButton.add(three);
jpButton.add(zero);
jpButton.add(tzero);
jpButton.add(plus);
jpButton.add(sub);
jpButton.add(mul);
jpButton.add(div);
jpButton.add(point);
jpButton.add(equal);
jpButton.add(ce);
one.addActionListener(this);//对1按钮添加监听事件two.addActionListener(this);//对2按钮添加监听事件three.addActionListener(this);//对3按钮添加监听事件four.addActionListener(this);//对4按钮添加监听事件five.addActionListener(this);//对5按钮添加监听事件six.addActionListener(this);//对6按钮添加监听事件seven.addActionListener(this);//对7按钮添加监听事件eight.addActionListener(this);//对8按钮添加监听事件nine.addActionListener(this);//对9按钮添加监听事件zero.addActionListener(this);//对0按钮添加监听事件ce.addActionListener(this);//对置零按钮添加监听事件plus.addActionListener(this);//对+按钮添加监听事件equal.addActionListener(this);//对=按钮添加监听事件sub.addActionListener(this);//对-按钮添加监听事件mul.addActionListener(this);//对*按钮添加监听事件div.addActionListener(this);//对/按钮添加监听事件tzero.addActionListener(this);//对00按钮添加监听事件point.addActionListener(this);//对.按钮添加监听事件
pack();//初始化窗体大小最合适大小
this.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){
System.exit(0);
}
});
this.setSize(300,300);
this.setVisible(true);