用java实现一个计算器,包括10个数字(0~9)按钮和4个运算符(加、减、乘、除)按钮,以及等号和清空两个辅助按钮,还有一个显示输入输出的文本框,如下图所示。
时间: 2023-06-04 14:08:01 浏览: 71
好的,这是一个关于Java实现计算器的问题,我可以为您提供一些帮助。首先,您需要创建一个Java图形用户界面(GUI)窗口,在窗口中添加按钮和文本框。您可以使用Java Swing库来创建GUI界面。然后,您需要实现按钮的点击事件,例如当用户点击数字按钮时,您需要将其显示在文本框中;当用户点击运算符按钮时,您需要将之前输入的数字和运算符保存下来,并清空文本框等等。最后,当用户点击等号按钮时,您需要计算输入的表达式并将结果显示在文本框中。希望这些信息能对您有所帮助!
相关问题
Java swing生成一个包括10个数字(0~9)按钮和4个运算符(加、减、乘、除)按钮,以及等号和清空两个辅助按钮,还有一个显示输入输出的文本框的计算器代码
好的,以下是用Java Swing实现一个简单的计算器的代码:
```java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Calculator extends JFrame implements ActionListener {
private JTextField inputField;
private JButton[] numberButtons;
private JButton[] operatorButtons;
private JButton equalsButton, clearButton;
private String currentDisplayValue = "";
private String currentOperator = "";
private double currentResult = 0.0;
public Calculator() {
setTitle("Calculator");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
panel.setLayout(new BorderLayout());
inputField = new JTextField();
inputField.setEditable(false);
panel.add(inputField, BorderLayout.NORTH);
JPanel buttonPanel = new JPanel();
buttonPanel.setLayout(new GridLayout(4, 4));
numberButtons = new JButton[10];
for (int i = 0; i < 10; i++) {
numberButtons[i] = new JButton(String.valueOf(i));
numberButtons[i].addActionListener(this);
buttonPanel.add(numberButtons[i]);
}
operatorButtons = new JButton[4];
operatorButtons[0] = new JButton("+");
operatorButtons[1] = new JButton("-");
operatorButtons[2] = new JButton("*");
operatorButtons[3] = new JButton("/");
for (int i = 0; i < 4; i++) {
operatorButtons[i].addActionListener(this);
buttonPanel.add(operatorButtons[i]);
}
equalsButton = new JButton("=");
equalsButton.addActionListener(this);
buttonPanel.add(equalsButton);
clearButton = new JButton("C");
clearButton.addActionListener(this);
buttonPanel.add(clearButton);
panel.add(buttonPanel, BorderLayout.CENTER);
setContentPane(panel);
pack();
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
for (int i = 0; i < 10; i++) {
if (e.getSource() == numberButtons[i]) {
currentDisplayValue += String.valueOf(i);
inputField.setText(currentDisplayValue);
}
}
for (int i = 0; i < 4; i++) {
if (e.getSource() == operatorButtons[i]) {
currentOperator = operatorButtons[i].getText();
if (!currentDisplayValue.equals("")) {
currentResult = Double.parseDouble(currentDisplayValue);
currentDisplayValue = "";
}
}
}
if (e.getSource() == equalsButton) {
if (!currentDisplayValue.equals("")) {
double currentValue = Double.parseDouble(currentDisplayValue);
if (currentOperator.equals("+")) {
currentResult += currentValue;
} else if (currentOperator.equals("-")) {
currentResult -= currentValue;
} else if (currentOperator.equals("*")) {
currentResult *= currentValue;
} else if (currentOperator.equals("/")) {
currentResult /= currentValue;
}
currentDisplayValue = "";
}
inputField.setText(String.valueOf(currentResult));
}
if (e.getSource() == clearButton) {
currentDisplayValue = "";
currentOperator = "";
currentResult = 0.0;
inputField.setText("");
}
}
public static void main(String[] args) {
new Calculator();
}
}
```
在代码中,我们使用了JFrame和JPanel来创建界面,使用JButton来添加按钮。同时,我们还使用了ActionListener来响应按钮的事件,实现了简单的计算功能。
注意在条件判断中通过getText()方法获取operatorButtons[i]按钮上的文本。
eclipse实现一个计算器,包括10个数字(0~9)按钮和4个运算符(加、减、乘、除)按钮,以及等号和清空两个辅助按钮,还有一个显示输入输出的文本框,如下图所示。
很高兴为您解答问题!这是一个关于计算器的问题,属于技术类问题,我可以为你提供帮助。实现一个计算器可以使用Java编程语言,并且可以通过使用SWT或JavaFX GUI库来实现UI界面。您可以通过编写Java代码来实现计算器功能,并将其与已经创建的GUI界面连接起来。希望我的回答能够帮到您!
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)