java完善的计算器
时间: 2023-10-19 07:21:05 浏览: 99
java简单计算器
5星 · 资源好评率100%
好的,我可以为您提供一些关于Java完善的计算器的实现方式。
首先,您可以使用Java的Swing库来创建GUI界面,使得用户可以方便地输入数学表达式和获取计算结果。接下来,您可以使用Java的ScriptEngine类来实现计算器的数学计算功能。ScriptEngine类是Java中内置的一个JavaScript解释器,可以将字符串表达式转换为数学计算结果。
以下是一个简单的Java计算器实现示例代码:
```java
import javax.swing.*;
import javax.script.ScriptEngineManager;
import javax.script.ScriptEngine;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Calculator {
private JFrame frame;
private JTextField textField;
private String expression = "";
private ScriptEngineManager scriptEngineManager;
private ScriptEngine scriptEngine;
public Calculator() {
frame = new JFrame("Calculator");
frame.setSize(250, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
panel.setLayout(null);
textField = new JTextField(20);
textField.setBounds(10, 10, 225, 25);
textField.setEditable(false);
panel.add(textField);
JButton buttonClear = new JButton("C");
buttonClear.setBounds(10, 50, 50, 50);
buttonClear.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
expression = "";
textField.setText("");
}
});
panel.add(buttonClear);
JButton button0 = new JButton("0");
button0.setBounds(70, 200, 50, 50);
button0.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
expression += "0";
textField.setText(expression);
}
});
panel.add(button0);
// 创建并添加其他数字按钮,操作符按钮和等于按钮
JButton buttonEqual = new JButton("=");
buttonEqual.setBounds(130, 200, 105, 50);
buttonEqual.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
try {
scriptEngineManager = new ScriptEngineManager();
scriptEngine = scriptEngineManager.getEngineByName("JavaScript");
Object result = scriptEngine.eval(expression);
textField.setText(result.toString());
} catch (Exception ex) {
textField.setText("Error");
}
}
});
panel.add(buttonEqual);
frame.add(panel);
frame.setVisible(true);
}
public static void main(String[] args) {
new Calculator();
}
}
```
运行该程序,您将看到一个简单的计算器GUI界面,可以进行数学计算。
阅读全文