diff --git a/src/CalculatorGUI.java b/src/CalculatorGUI.java index 382f6b0..cb8ecd8 100644 --- a/src/CalculatorGUI.java +++ b/src/CalculatorGUI.java @@ -65,11 +65,15 @@ public class CalculatorGUI extends JFrame { setVisible(true); } + //将给定的条目加入到历史记录中 private void appendToHistory(String entry) { history.add(entry); displayHistory(); } + // 递归下降解析的方法 + // 从表达式的最底层开始,逐步向上解析表达式的不同部分 + // 直到整个表达式都被解析完,计算,最终得到表达式的结果。 private double eval(String expression) { return new Object() { int pos = -1, ch; @@ -133,6 +137,7 @@ public class CalculatorGUI extends JFrame { }.parse(); } + //将每个条目以换行符分隔的形式显示在界面上的一个历史记录·文本区域中。 private void displayHistory() { StringBuilder sb = new StringBuilder(); for (String entry : history) { @@ -141,6 +146,7 @@ public class CalculatorGUI extends JFrame { historyArea.setText(sb.toString()); } + //特殊符号检测 private class ButtonListener implements ActionListener { @Override public void actionPerformed(ActionEvent e) { @@ -191,6 +197,7 @@ public class CalculatorGUI extends JFrame { } } + //特殊符号计算 private double calculateFunction(String expression, String function) { // 根据不同的函数类型计算结果 double value = Double.parseDouble(expression); @@ -208,6 +215,7 @@ public class CalculatorGUI extends JFrame { } } + //历史记录保存 private class SaveListener implements ActionListener { @Override public void actionPerformed(ActionEvent e) { @@ -228,6 +236,7 @@ public class CalculatorGUI extends JFrame { } } + //复制 private class CopyListener implements ActionListener { @Override public void actionPerformed(ActionEvent e) { @@ -238,6 +247,7 @@ public class CalculatorGUI extends JFrame { } } + //清除 private class ClearListener implements ActionListener { @Override public void actionPerformed(ActionEvent e) {