From c6b782cf48cf4bcab1cae2f09699d3c24aa88ebf Mon Sep 17 00:00:00 2001 From: fdzcxy212206297 <1514193827@qq.com> Date: Thu, 10 Oct 2024 16:03:06 +0800 Subject: [PATCH 1/3] Initial commit --- README.md | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..d69f741 --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +# compute + -- 2.34.1 From 056b7023d18aee8841a954134c8b2d048f0a31d0 Mon Sep 17 00:00:00 2001 From: pjj123 <1514193827@qq.com> Date: Thu, 10 Oct 2024 16:22:12 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E5=88=9B=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/compute/javaCompute.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 src/compute/javaCompute.java diff --git a/src/compute/javaCompute.java b/src/compute/javaCompute.java new file mode 100644 index 0000000..d88c127 --- /dev/null +++ b/src/compute/javaCompute.java @@ -0,0 +1,13 @@ +package compute; + +/** + * ClassName:javaCompute + * Package: compute + * Description: + * Author Pjj + * + * @Create 2024/10/10 16:21 + * @Version 1.0 + */ +public class javaCompute { +} -- 2.34.1 From 0ca45a7a1d39d3b97d3b701e7903244d961f655a Mon Sep 17 00:00:00 2001 From: pjj123 <1514193827@qq.com> Date: Thu, 10 Oct 2024 16:28:08 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E8=AE=A1=E7=AE=97=E5=99=A8=E7=9A=84?= =?UTF-8?q?=E7=AC=AC=E4=B8=80=E6=AC=A1=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/compute/SimpleCalculator.java | 127 ++++++++++++++++++++++++++++++ src/compute/javaCompute.java | 13 --- 2 files changed, 127 insertions(+), 13 deletions(-) create mode 100644 src/compute/SimpleCalculator.java delete mode 100644 src/compute/javaCompute.java diff --git a/src/compute/SimpleCalculator.java b/src/compute/SimpleCalculator.java new file mode 100644 index 0000000..b1e2456 --- /dev/null +++ b/src/compute/SimpleCalculator.java @@ -0,0 +1,127 @@ +package compute; +import javax.swing.*; +import java.awt.*; + +public class SimpleCalculator { + + private JFrame frame; + private JTextField inputField; + private double num1; + private double num2; + private String operator; + + public SimpleCalculator() { + frame = new JFrame("简单计算器"); + inputField = new JTextField(); + inputField.setEditable(false); + + // 创建按钮 + JButton btn1 = new JButton("1"); + JButton btn2 = new JButton("2"); + JButton btn3 = new JButton("3"); + JButton btn4 = new JButton("4"); + JButton btn5 = new JButton("5"); + JButton btn6 = new JButton("6"); + JButton btn7 = new JButton("7"); + JButton btn8 = new JButton("8"); + JButton btn9 = new JButton("9"); + JButton btn0 = new JButton("0"); + JButton btnAdd = new JButton("+"); + JButton btnSubtract = new JButton("-"); + JButton btnMultiply = new JButton("*"); + JButton btnDivide = new JButton("/"); + JButton btnEqual = new JButton("="); + JButton btnClear = new JButton("C"); + + // 设置布局 + JPanel panel = new JPanel(); + panel.setLayout(new GridLayout(4, 4)); + panel.add(btn7); + panel.add(btn8); + panel.add(btn9); + panel.add(btnDivide); + panel.add(btn4); + panel.add(btn5); + panel.add(btn6); + panel.add(btnMultiply); + panel.add(btn1); + panel.add(btn2); + panel.add(btn3); + panel.add(btnSubtract); + panel.add(btn0); + panel.add(btnEqual); + panel.add(btnClear); + panel.add(btnAdd); + + // 添加事件监听器 + btn1.addActionListener(e -> appendToInputField("1")); + btn2.addActionListener(e -> appendToInputField("2")); + btn3.addActionListener(e -> appendToInputField("3")); + btn4.addActionListener(e -> appendToInputField("4")); + btn5.addActionListener(e -> appendToInputField("5")); + btn6.addActionListener(e -> appendToInputField("6")); + btn7.addActionListener(e -> appendToInputField("7")); + btn8.addActionListener(e -> appendToInputField("8")); + btn9.addActionListener(e -> appendToInputField("9")); + btn0.addActionListener(e -> appendToInputField("0")); + + btnAdd.addActionListener(e -> setOperator("+")); + btnSubtract.addActionListener(e -> setOperator("-")); + btnMultiply.addActionListener(e -> setOperator("*")); + btnDivide.addActionListener(e -> setOperator("/")); + + btnEqual.addActionListener(e -> calculateResult()); + btnClear.addActionListener(e -> clearInput()); + + // 设置窗体 + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setSize(400, 400); + frame.add(inputField, BorderLayout.NORTH); + frame.add(panel); + frame.setVisible(true); + } + + private void appendToInputField(String value) { + inputField.setText(inputField.getText() + value); + } + + private void setOperator(String op) { + num1 = Double.parseDouble(inputField.getText()); + operator = op; + inputField.setText(""); + } + + private void calculateResult() { + num2 = Double.parseDouble(inputField.getText()); + double result = 0; + + switch (operator) { + case "+": + result = num1 + num2; + break; + case "-": + result = num1 - num2; + break; + case "*": + result = num1 * num2; + break; + case "/": + if (num2 != 0) { + result = num1 / num2; + } else { + JOptionPane.showMessageDialog(frame, "错误:除数不能为零。"); + return; + } + break; + } + inputField.setText(String.valueOf(result)); + } + + private void clearInput() { + inputField.setText(""); + } + + public static void main(String[] args) { + SwingUtilities.invokeLater(SimpleCalculator::new); + } +} diff --git a/src/compute/javaCompute.java b/src/compute/javaCompute.java deleted file mode 100644 index d88c127..0000000 --- a/src/compute/javaCompute.java +++ /dev/null @@ -1,13 +0,0 @@ -package compute; - -/** - * ClassName:javaCompute - * Package: compute - * Description: - * Author Pjj - * - * @Create 2024/10/10 16:21 - * @Version 1.0 - */ -public class javaCompute { -} -- 2.34.1