java编写一个应用程序,在窗口中设计4个按钮,分别命名为“加”,“减”,“乘”,“除”,另外添加3个文本框,单击相应的按钮,在两个文本框中做计算,在第3个文本框中显示结果。要求处理NumberFormatException异常
时间: 2023-12-04 15:03:30 浏览: 75
java编写的计算器,能实现加减乘除
5星 · 资源好评率100%
好的,我可以为您解答这个问题。
首先,我们需要创建一个窗口和四个按钮,以及三个文本框,代码如下:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Calculator extends JFrame implements ActionListener {
private JTextField textField1, textField2, textField3;
private JButton addButton, subtractButton, multiplyButton, divideButton;
public Calculator() {
super("简单计算器");
setLayout(new FlowLayout());
textField1 = new JTextField(10);
add(textField1);
addButton = new JButton("加");
add(addButton);
subtractButton = new JButton("减");
add(subtractButton);
multiplyButton = new JButton("乘");
add(multiplyButton);
divideButton = new JButton("除");
add(divideButton);
textField2 = new JTextField(10);
add(textField2);
textField3 = new JTextField(10);
textField3.setEditable(false);
add(textField3);
addButton.addActionListener(this);
subtractButton.addActionListener(this);
multiplyButton.addActionListener(this);
divideButton.addActionListener(this);
setSize(200, 200);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
try {
double num1 = Double.parseDouble(textField1.getText());
double num2 = Double.parseDouble(textField2.getText());
double result = 0;
if (e.getSource() == addButton) {
result = num1 + num2;
} else if (e.getSource() == subtractButton) {
result = num1 - num2;
} else if (e.getSource() == multiplyButton) {
result = num1 * num2;
} else if (e.getSource() == divideButton) {
result = num1 / num2;
}
textField3.setText(Double.toString(result));
} catch (NumberFormatException ex) {
JOptionPane.showMessageDialog(this, "输入错误,请重新输入!");
}
}
public static void main(String[] args) {
Calculator calculator = new Calculator();
calculator.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
```
在这个代码中,我们创建了一个Calculator类,它继承了JFrame类并实现了ActionListener接口。在构造函数中,我们创建了四个按钮和三个文本框,并将它们添加到窗口中。我们还将四个按钮的ActionListener设置为this,这样当按钮被点击时,actionPerformed方法就会被调用。
在actionPerformed方法中,我们首先尝试从两个文本框中获取用户输入的数字,并将它们转换为double类型。如果转换失败,我们会捕获NumberFormatException异常,并弹出一个对话框提示用户重新输入。
接下来,我们根据点击的按钮计算结果,并将结果显示在第三个文本框中。
最后,在main方法中,我们创建了一个Calculator对象,并将窗口关闭操作设置为退出程序。
希望能帮到您!
阅读全文