用Java设计和编写一个简易的计算器:实现计算器的界面;实现计算按钮不同的计算功能;显示计算器按钮运算后的结果。
时间: 2024-02-29 13:52:34 浏览: 81
Java实现简易计算器.doc
好的,我可以为你提供一些设计思路和代码示例。
首先,我们需要设计计算器的界面。可以使用Swing或JavaFX等GUI库来实现。以下是一个简单的Swing实现的示例代码:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class CalculatorGUI extends JFrame implements ActionListener {
private JTextField displayField;
private JButton[] buttons;
private String[] buttonLabels = {
"7", "8", "9", "/", "4", "5", "6", "*", "1", "2", "3", "-", "0", ".", "=", "+"
};
public CalculatorGUI() {
setTitle("Calculator");
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
setSize(300, 300);
setLocationRelativeTo(null);
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(4, 4));
displayField = new JTextField();
displayField.setEditable(false);
buttons = new JButton[buttonLabels.length];
for (int i = 0; i < buttonLabels.length; i++) {
buttons[i] = new JButton(buttonLabels[i]);
buttons[i].addActionListener(this);
panel.add(buttons[i]);
}
add(displayField, BorderLayout.NORTH);
add(panel, BorderLayout.CENTER);
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
String command = e.getActionCommand();
if (command.equals("=")) {
String expression = displayField.getText();
String result = calculate(expression);
displayField.setText(result);
} else {
displayField.setText(displayField.getText() + command);
}
}
private String calculate(String expression) {
// 在这里实现不同的计算功能
// ...
return "";
}
public static void main(String[] args) {
new CalculatorGUI();
}
}
```
在这个示例中,我们使用了GridLayout布局来排列计算器按钮。每个按钮都添加了一个ActionListener,当按钮被点击时,会触发actionPerformed方法。在这个方法中,我们根据按钮的标签执行不同的操作。如果是等号按钮,则从文本框中读取表达式,并调用calculate方法来计算结果;否则,将按钮标签添加到文本框中。
现在我们需要实现calculate方法来执行不同的计算功能。以下是一个简单的实现,可以计算简单的四则运算:
```java
private String calculate(String expression) {
try {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("js");
Object result = engine.eval(expression);
return String.valueOf(result);
} catch (Exception e) {
return "Error";
}
}
```
在这个实现中,我们使用了ScriptEngine类来执行JavaScript代码来计算表达式的值。注意,这个实现只支持简单的四则运算,如果需要实现更复杂的计算功能,需要编写更复杂的计算逻辑。
这是一个简单的Java计算器的实现。你可以根据自己的需要来修改和扩展这个示例。
阅读全文