编写一个能够转换华氏温度和摄氏温度的JAVA程序。在“摄氏温度”文本域输入一个值并点击华氏按钮(两个按钮—摄氏按钮、华氏按钮),在华氏文本域显示相应的华氏温度。反之,在“华氏文温度”文本域输入一个值,点击摄氏按钮,在摄氏文本域中显示相应的摄氏温度。
时间: 2024-02-15 08:04:35 浏览: 125
好的,以下是可以实现该功能的JAVA程序:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class TemperatureConverter extends JFrame implements ActionListener {
private JTextField celsiusField, fahrenheitField;
private JButton celsiusButton, fahrenheitButton;
public TemperatureConverter() {
super("温度转换器");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
celsiusField = new JTextField(10);
fahrenheitField = new JTextField(10);
celsiusButton = new JButton("摄氏转华氏");
fahrenheitButton = new JButton("华氏转摄氏");
JPanel panel1 = new JPanel();
panel1.setLayout(new GridLayout(2, 2));
panel1.add(new JLabel("摄氏温度:"));
panel1.add(celsiusField);
panel1.add(new JLabel("华氏温度:"));
panel1.add(fahrenheitField);
JPanel panel2 = new JPanel();
panel2.setLayout(new FlowLayout());
panel2.add(celsiusButton);
panel2.add(fahrenheitButton);
celsiusButton.addActionListener(this);
fahrenheitButton.addActionListener(this);
Container cp = getContentPane();
cp.setLayout(new BorderLayout());
cp.add(panel1, BorderLayout.CENTER);
cp.add(panel2, BorderLayout.SOUTH);
pack();
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == celsiusButton) {
double celsius = Double.parseDouble(celsiusField.getText());
double fahrenheit = celsius * 9 / 5 + 32;
fahrenheitField.setText(String.format("%.2f", fahrenheit));
} else if (e.getSource() == fahrenheitButton) {
double fahrenheit = Double.parseDouble(fahrenheitField.getText());
double celsius = (fahrenheit - 32) * 5 / 9;
celsiusField.setText(String.format("%.2f", celsius));
}
}
public static void main(String[] args) {
new TemperatureConverter();
}
}
```
程序实现了一个简单的GUI界面,包含两个文本域和两个按钮。用户可以在“摄氏温度”文本域输入一个摄氏温度值,然后点击“摄氏转华氏”按钮,在“华氏温度”文本域中显示相应的华氏温度值。反之,在“华氏温度”文本域输入一个华氏温度值,然后点击“华氏转摄氏”按钮,在“摄氏温度”文本域中显示相应的摄氏温度值。
在程序中,我们使用了ActionListener接口来实现按钮的点击事件。当用户点击“摄氏转华氏”按钮时,程序将获取“摄氏温度”文本域中的数值,然后根据华氏温度转换公式计算出相应的华氏温度值,并将其显示在“华氏温度”文本域中。当用户点击“华氏转摄氏”按钮时,程序将获取“华氏温度”文本域中的数值,然后根据摄氏温度转换公式计算出相应的摄氏温度值,并将其显示在“摄氏温度”文本域中。
阅读全文