用Java语言帮我写一个可视化的计算器
时间: 2023-11-18 12:02:12 浏览: 36
好的,以下是一个简单的基于Java Swing的可视化计算器的代码:
```java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Calculator extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
private JTextField textField;
private JPanel buttonPanel;
private double num1, num2;
private String operator;
public Calculator() {
setTitle("Calculator");
setSize(300, 300);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new BorderLayout());
textField = new JTextField();
add(textField, BorderLayout.NORTH);
buttonPanel = new JPanel(new GridLayout(4, 4));
addButton("7");
addButton("8");
addButton("9");
addButton("/");
addButton("4");
addButton("5");
addButton("6");
addButton("*");
addButton("1");
addButton("2");
addButton("3");
addButton("-");
addButton("0");
addButton(".");
addButton("=");
addButton("+");
add(buttonPanel, BorderLayout.CENTER);
}
private void addButton(String label) {
JButton button = new JButton(label);
button.addActionListener(this);
buttonPanel.add(button);
}
private void calculate() {
if (operator.equals("+")) {
num2 = Double.parseDouble(textField.getText());
textField.setText(Double.toString(num1 + num2));
} else if (operator.equals("-")) {
num2 = Double.parseDouble(textField.getText());
textField.setText(Double.toString(num1 - num2));
} else if (operator.equals("*")) {
num2 = Double.parseDouble(textField.getText());
textField.setText(Double.toString(num1 * num2));
} else if (operator.equals("/")) {
num2 = Double.parseDouble(textField.getText());
if (num2 == 0) {
textField.setText("Error");
} else {
textField.setText(Double.toString(num1 / num2));
}
}
}
public void actionPerformed(ActionEvent e) {
String command = e.getActionCommand();
if (command.equals("+") || command.equals("-") || command.equals("*") || command.equals("/")) {
num1 = Double.parseDouble(textField.getText());
operator = command;
textField.setText("");
} else if (command.equals("=")) {
calculate();
operator = "";
} else {
textField.setText(textField.getText() + command);
}
}
public static void main(String[] args) {
Calculator calculator = new Calculator();
calculator.setVisible(true);
}
}
```
运行后,你将得到一个简单的可视化计算器。希望能够帮到你!