javaswing编写计算器增加连续运算功能

问题遇到的现象和发生背景

使用javaswing编写计算器增加连续运算的功能

问题相关代码,请勿粘贴截图
package Computer;


import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import java.util.ArrayList;


public class Const  implements ActionListener {

    JButton  tx2=new JButton("C");
    JTextField tx;
    JButton bt;


    public static void main(String[] args) {
        Const ap = new Const();
        ap.go();

    }


    void go() {
        JFrame frame = new JFrame("小黄鸡计算器");//创建窗体
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭窗体
        frame.setSize(300, 400);//窗体长度宽度
        //
        tx = new JTextField();
        tx.setPreferredSize(new Dimension(300, 50));//根据布局自动调整

        Image icon=Toolkit.getDefaultToolkit().getImage("D:\\计算器照片\\1.jpg");
        frame.setIconImage(icon);


        bt = new JButton();
        frame.getContentPane().add(tx, BorderLayout.NORTH);//添加文本框在窗体北面
        frame.getContentPane().add(bt);//添加按钮模板放窗体里面
        //
        JPanel jPanel = new JPanel();//创建一个模板
        jPanel.setLayout(new GridLayout(4, 4));//创建按钮模板四行四列




        /**

         */
        String arry[] = {"7", "8", "9", "+",
                "4", "5", "6", "-",
                "1", "2", "3", "*",
                "0",  "=", "/",};//创建数组按钮


        for (int i = 0; i < 15; i++) {      //s使用for循环打印16个按钮
            JButton bt = new JButton(arry[i]);
            jPanel.add(bt);

            bt.setForeground(Color.RED);
            bt.setFont(new Font("微软雅黑", Font.BOLD, 16));


            bt.addActionListener(this);
            //创建清除按钮
            this.tx2.setForeground(Color.BLACK);
            jPanel.add(tx2);
            tx2.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    tx.setText("");//0
                }
            });

        }
        Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();

        frame.add(jPanel);      //把模板放入窗体

        frame.setLocation((dim.width-300)/2,400);
        frame.setVisible(true);//显示窗体


    }

   





    private String firstInput=null;//放入第一次输入的值
    private String operator=null;//放入输入运算符
    private String  three=null;  //第三次输入的值

    @Override
    public void actionPerformed(ActionEvent e) {
        String clickStr=e.getActionCommand();
        if ("0123456789".indexOf(clickStr)!=-1) {
            tx.setText(tx.getText() + clickStr);//使输入的字符叠加

        }else  if (clickStr.matches("[\\+\\*/]{1}")){      //是否输入为+-*/
            operator=clickStr;          //记录运算符
            firstInput = this.tx.getText();//记录第一次输入的值
            this.tx.setText("");


        }else if(clickStr.equals("=")){
            Double a=Double.valueOf(firstInput);//第一次输入的值
            Double b=Double.valueOf(this.tx.getText());//获取第二次输入的值
            Double result=null;//运算结果

            switch (operator){
                case "+":
                    result=a+b;
                    break;
                case "-":
                    result=a-b;
                    break;
                case"/":
                    result=a/b;
                    break;
                case "*":
                    result=a*b;
                    break;
            }

            this.tx.setText(result.toString());


        }


    }
}











运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

实现连续运算的功能

用全局变量记录当前的结果,点击运算符的时候,将全局变量作为第一个运算值。