Java里边使用按钮写一个计算器
时间: 2023-07-20 11:14:23 浏览: 93
Java_用JAVA实现一个计算器_
5星 · 资源好评率100%
好的,下面是一个简单的 Java 计算器程序,使用按钮实现:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Calculator extends JFrame implements ActionListener {
private JTextField outputField; // 显示结果的文本框
private JButton[] buttons; // 数字和运算符按钮
public Calculator() {
super("计算器");
// 设置窗口大小和默认关闭操作
setSize(300, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 创建面板和布局管理器
JPanel panel = new JPanel(new GridLayout(4, 4, 5, 5));
// 创建文本框并添加到窗口
outputField = new JTextField();
outputField.setEditable(false);
add(outputField, BorderLayout.NORTH);
// 创建数字和运算符按钮并添加到面板
buttons = new JButton[16];
for (int i = 0; i < 10; i++) {
buttons[i] = new JButton(String.valueOf(i));
}
buttons[10] = new JButton("+");
buttons[11] = new JButton("-");
buttons[12] = new JButton("*");
buttons[13] = new JButton("/");
buttons[14] = new JButton("=");
buttons[15] = new JButton("C");
for (int i = 0; i < 16; i++) {
buttons[i].addActionListener(this);
panel.add(buttons[i]);
}
// 添加面板到窗口
add(panel, BorderLayout.CENTER);
// 显示窗口
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
// 获取按钮上的文本
String text = ((JButton)e.getSource()).getText();
// 处理数字按钮
if (text.matches("\\d")) {
outputField.setText(outputField.getText() + text);
}
// 处理运算符按钮
else if (text.matches("[+\\-*/]")) {
double num1 = Double.parseDouble(outputField.getText());
String operator = text;
outputField.setText("");
buttons[14].setEnabled(true);
for (int i = 0; i < 4; i++) {
buttons[i + 10].setEnabled(false);
}
outputField.putClientProperty("num1", num1);
outputField.putClientProperty("operator", operator);
}
// 处理等号按钮
else if (text.equals("=")) {
double num1 = (Double)outputField.getClientProperty("num1");
String operator = (String)outputField.getClientProperty("operator");
double num2 = Double.parseDouble(outputField.getText());
double result = 0;
switch (operator) {
case "+":
result = num1 + num2;
break;
case "-":
result = num1 - num2;
break;
case "*":
result = num1 * num2;
break;
case "/":
result = num1 / num2;
break;
}
outputField.setText(String.valueOf(result));
for (int i = 0; i < 16; i++) {
buttons[i].setEnabled(true);
}
}
// 处理清除按钮
else if (text.equals("C")) {
outputField.setText("");
for (int i = 0; i < 16; i++) {
buttons[i].setEnabled(true);
}
}
}
public static void main(String[] args) {
new Calculator();
}
}
```
上面的代码实现了一个简单的计算器,可以进行加减乘除运算。用户输入数字和运算符,点击等号按钮后计算结果并显示在文本框中。用户也可以点击清除按钮清空文本框。
阅读全文