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 + -
显示快捷键?