编写一个应用程序,实现一个标题为计算的窗口,窗口的布局weiFlowLayout布局。在生活中设计师按钮分别命名为加差乘除。另外添加三个文本框,单击相应的按钮,将两个文本框中的数字做运算,在第三个文本框中显示结果。,要求处理numberformatexception异常
时间: 2023-12-28 09:03:23 浏览: 81
下面是一个使用Java Swing编写的计算器应用程序,实现加减乘除四种基本运算:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Calculator extends JFrame implements ActionListener {
private JTextField textField1, textField2, textField3;
private JButton addButton, minusButton, multiplyButton, divideButton;
public Calculator() {
super("计算器");
setLayout(new FlowLayout());
textField1 = new JTextField(10);
add(textField1);
addButton = new JButton("+");
addButton.addActionListener(this);
add(addButton);
textField2 = new JTextField(10);
add(textField2);
minusButton = new JButton("-");
minusButton.addActionListener(this);
add(minusButton);
textField3 = new JTextField(10);
textField3.setEditable(false);
add(textField3);
multiplyButton = new JButton("*");
multiplyButton.addActionListener(this);
add(multiplyButton);
divideButton = new JButton("/");
divideButton.addActionListener(this);
add(divideButton);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(250, 120);
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
String number1 = textField1.getText();
String number2 = textField2.getText();
try {
double num1 = Double.parseDouble(number1);
double num2 = Double.parseDouble(number2);
if (e.getSource() == addButton) {
textField3.setText(String.valueOf(num1 + num2));
} else if (e.getSource() == minusButton) {
textField3.setText(String.valueOf(num1 - num2));
} else if (e.getSource() == multiplyButton) {
textField3.setText(String.valueOf(num1 * num2));
} else if (e.getSource() == divideButton) {
if (num2 == 0) {
textField3.setText("除数不能为0");
} else {
textField3.setText(String.valueOf(num1 / num2));
}
}
} catch (NumberFormatException ex) {
textField3.setText("输入格式错误");
}
}
public static void main(String[] args) {
new Calculator();
}
}
```
在该程序中,我们使用JTextField组件来显示和输入数字,并使用JButton组件来表示四个基本运算符,使用FlowLayout布局将它们排列在一行上。在按钮的ActionListener中,我们先获取用户输入的两个数字,然后尝试将它们转换为double类型,如果转换失败则抛出NumberFormatException异常。最后根据用户点击的按钮来进行相应的计算,并将结果显示在第三个文本框中。如果除数为0,则显示“除数不能为0”的错误信息。
阅读全文