计算器的第一次代码

main
pjj123 10 months ago committed by Gitea
parent e65f08b8c4
commit ddd192c71c

@ -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);
}
}

@ -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 {
}
Loading…
Cancel
Save