handleequality.java

来自「书上的例子」· Java 代码 · 共 70 行

JAVA
70
字号
import java.util.LinkedList;
import javax.swing.*;
import java.awt.event.*;

public class HandleEquality implements ActionListener {
    LinkedList<String> list;
    JTextField resultShow, showComputerProcess;
    JTextArea saveComputerProcess;

    HandleEquality(LinkedList<String> list, JTextField t1, JTextField t2, JTextArea t3) {
        this.list = list;
        resultShow = t1;
        showComputerProcess = t2;
        saveComputerProcess = t3;
    }

    public void actionPerformed(ActionEvent e) {
        if (list.size() == 1) {
            String num = list.getFirst();
            resultShow.setText("" + num);
            showComputerProcess.setText(list.get(0));
        } else if (list.size() == 2) {
            String num = list.getFirst();
            String 运算符号 = list.get(1);
            try {
                double n1 = Double.parseDouble(num);
                double n2 = Double.parseDouble(num);
                double result = 0;
                if (运算符号.equals("+"))
                    result = n1 + n2;
                else if (运算符号.equals("-"))
                    result = n1 - n2;
                else if (运算符号.equals("*"))
                    result = n1 * n2;
                else if (运算符号.equals("/"))
                    result = n1 / n2;
                resultShow.setText("" + result);
                String process = num + " " + 运算符号 + " " + num + " = " + result;
                showComputerProcess.setText(process);
                saveComputerProcess.append(" " + process + "\n");
                list.set(0, "" + result);
            } catch (Exception ex) {}
        } else if (list.size() == 3) {
            String numOne = list.getFirst();
            String 运算符号 = list.get(1);
            String numTwo = list.getLast();
            try {
                double n1 = Double.parseDouble(numOne);
                double n2 = Double.parseDouble(numTwo);
                double result = 0;
                if (运算符号.equals("+"))
                    result = n1 + n2;
                else if (运算符号.equals("-"))
                    result = n1 - n2;
                else if (运算符号.equals("*"))
                    result = n1 * n2;
                else if (运算符号.equals("/"))
                    result = n1 / n2;
                resultShow.setText("" + result);
                String process = numOne + " " + 运算符号 + " " + numTwo + " = " + result;
                showComputerProcess.setText(process);
                saveComputerProcess.append(" " + process + "\n");
                list.set(0, "" + result);
                list.removeLast();
                list.removeLast();
            } catch (Exception ex) {}
        }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?