在写代码的过程中,我意识到对于学习编程语言来说,比之看书,动手实践是更重要的。
通过写这个计算器程序,我掌握了一个java程序的基本构架,学会了用构造器进行初始化,使用监听器,设计界面等等知识。
这个计算器实现了如下功能:
1.可以通过键盘或按钮输入数据;
2.实现加减乘除四则运算;
3.连续运算;
4.除数为0时进行纠错。
不足之处在于:
1.功能太过简单;
2.没有异常处理机制(我还未对这一部分的内容进行学习)。
现将源代码粘贴如下:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Caculator extends JFrame implements KeyListener{ //构造Caculator类
private Container content;//构造容器
private JButton bCancel; //清除按钮
private JButton[] b=new JButton[16]; //构造按钮数组
private char LastOp; //操作符号
private boolean Countable; //用于判断是否可计算
private String KeyLabel[]={"7","8","9","/","4","5","6","*","1","2","3","-","0",".","=","+"};
private StringBuffer str;
private JPanel KeyPanel,TextPanel; //按键面板,结果面板
private JTextArea tResult; //用于显示结果的文本域
private double x=0,y=0; //操作数
public Caculator(){
setTitle("袖珍计算器");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
content =getContentPane(); //初始化一个容器
content.setLayout(new BorderLayout()); //设置容器的布局方式
KeyPanel=new JPanel();
TextPanel=new JPanel();
TextPanel.setLayout(new FlowLayout()); //设置TextPanel面板的布局方式
KeyPanel.setLayout(new GridLayout(4,4)); //设置KeyPanel面板的布局方式
tResult=new JTextArea(1,15); //实例化一个JTextArea类
tResult.setEditable(false); //将tResult设置为不可编辑
tResult.setText("0"); //文本域显示为0
tResult.addKeyListener(this); //添加键盘监听器
str=new StringBuffer(); //实例化一个字符串缓冲区
ButtonListener btnListener = new ButtonListener(); //实例化一个ButtonListener类的监听器
for(int i=0;i<16;i++){