可以帮我做一个简单的java使用列表框、组合框和菜单组件制作一个算术运算器的示例吗。 要求输入若干数值,分别进行加、减、乘、除等算术运算,运算符没有优 先级,顺序运算。增加要求:①采用文本行数组,操作数个数为4个,分别对应加、减、乘、除。②解决除数为 0的问题。③区分“/”为整数除或实数除
时间: 2023-07-10 17:20:04 浏览: 91
Java开发技术大全 电子版
4星 · 用户满意度95%
好的,以下是一个简单的Java算术运算器示例,使用了列表框、组合框和菜单组件来实现。注意,这个示例只是一个基础框架,需要你自己完成其中的计算逻辑和界面布局。
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class ArithmeticCalculator extends JFrame implements ActionListener {
private JComboBox<String> operatorComboBox;
private JList<String> numbersList;
private JButton calculateButton;
private JTextField resultTextField;
private JTextField[] numberTextFields;
public ArithmeticCalculator() {
// 设置窗口标题
setTitle("算术运算器");
// 设置窗口大小和位置
setSize(400, 300);
setLocationRelativeTo(null);
// 创建并添加操作数输入框
JPanel numberPanel = new JPanel(new GridLayout(1, 4));
numberTextFields = new JTextField[4];
for (int i = 0; i < 4; i++) {
numberTextFields[i] = new JTextField();
numberPanel.add(numberTextFields[i]);
}
add(numberPanel, BorderLayout.NORTH);
// 创建运算符下拉框
operatorComboBox = new JComboBox<String>(new String[]{"+", "-", "*", "/"});
operatorComboBox.setSelectedIndex(0);
add(operatorComboBox, BorderLayout.WEST);
// 创建计算按钮
calculateButton = new JButton("计算");
calculateButton.addActionListener(this);
add(calculateButton, BorderLayout.CENTER);
// 创建计算结果显示框
resultTextField = new JTextField();
resultTextField.setEditable(false);
add(resultTextField, BorderLayout.SOUTH);
// 显示窗口
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == calculateButton) {
// 获取操作数和运算符
String operator = (String) operatorComboBox.getSelectedItem();
double[] numbers = new double[4];
for (int i = 0; i < 4; i++) {
try {
numbers[i] = Double.parseDouble(numberTextFields[i].getText());
} catch (NumberFormatException ex) {
JOptionPane.showMessageDialog(this, "请输入数字", "错误", JOptionPane.ERROR_MESSAGE);
return;
}
}
// 计算结果
double result = 0;
switch (operator) {
case "+":
result = numbers[0] + numbers[1] + numbers[2] + numbers[3];
break;
case "-":
result = numbers[0] - numbers[1] - numbers[2] - numbers[3];
break;
case "*":
result = numbers[0] * numbers[1] * numbers[2] * numbers[3];
break;
case "/":
if (numbers[1] == 0 || numbers[2] == 0 || numbers[3] == 0) {
JOptionPane.showMessageDialog(this, "除数不能为0", "错误", JOptionPane.ERROR_MESSAGE);
return;
}
result = numbers[0] / numbers[1] / numbers[2] / numbers[3];
break;
}
// 显示结果
resultTextField.setText(String.format("%.2f", result));
}
}
public static void main(String[] args) {
new ArithmeticCalculator();
}
}
```
这个示例中,我们创建了一个继承自JFrame的ArithmeticCalculator类,在构造函数中创建了界面上需要的组件,包括操作数输入框、运算符下拉框、计算按钮和计算结果显示框。在计算按钮的ActionListener中,我们获取用户输入的操作数和运算符,并根据运算符执行相应的计算操作,最后将结果显示在计算结果显示框中。
这个示例还有一些不足之处,比如没有考虑实数除和整数除的区别,没有进行输入合法性检查等。但是这个示例应该能够帮助你了解如何使用列表框、组合框和菜单组件来实现一个简单的Java算术运算器。
阅读全文