编写一个能够转换华氏温度和摄氏温度的Java程序。输出图形用户界面。在“摄氏温度”文本域输入一个值并点击华氏按钮(两个按钮—摄氏按钮、华氏按钮),在华氏文本域显示相应的华氏温度。反之,在“华氏文温度”文本域输入一个值,点击摄氏按钮,在摄氏文本域中显示相应的摄氏温度。
时间: 2024-03-01 07:52:43 浏览: 63
好的,我可以为您编写这个Java程序。首先,您需要创建一个Java GUI应用程序,可以使用Swing或JavaFX库。以下是一个使用Swing库的示例程序:
```java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class TemperatureConverter extends JFrame implements ActionListener {
private JLabel celsiusLabel, fahrenheitLabel;
private JTextField celsiusField, fahrenheitField;
private JButton celsiusButton, fahrenheitButton;
public TemperatureConverter() {
super("Temperature Converter");
// 设置布局
setLayout(new GridLayout(2, 3, 5, 5));
// 创建组件
celsiusLabel = new JLabel("摄氏温度:");
fahrenheitLabel = new JLabel("华氏温度:");
celsiusField = new JTextField(10);
fahrenheitField = new JTextField(10);
celsiusButton = new JButton("转换为华氏");
fahrenheitButton = new JButton("转换为摄氏");
// 添加组件
add(celsiusLabel);
add(celsiusField);
add(celsiusButton);
add(fahrenheitLabel);
add(fahrenheitField);
add(fahrenheitButton);
// 添加事件监听器
celsiusButton.addActionListener(this);
fahrenheitButton.addActionListener(this);
// 设置窗口属性
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(300, 100);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == celsiusButton) {
// 摄氏转华氏
String celsiusText = celsiusField.getText().trim();
if (!celsiusText.isEmpty()) {
double celsius = Double.parseDouble(celsiusText);
double fahrenheit = celsius * 1.8 + 32;
fahrenheitField.setText(String.format("%.2f", fahrenheit));
}
} else if (e.getSource() == fahrenheitButton) {
// 华氏转摄氏
String fahrenheitText = fahrenheitField.getText().trim();
if (!fahrenheitText.isEmpty()) {
double fahrenheit = Double.parseDouble(fahrenheitText);
double celsius = (fahrenheit - 32) / 1.8;
celsiusField.setText(String.format("%.2f", celsius));
}
}
}
public static void main(String[] args) {
new TemperatureConverter();
}
}
```
这个程序创建了一个窗口,包含两个文本域和两个按钮。用户可以在“摄氏温度”文本域中输入一个值并点击“转换为华氏”按钮,或在“华氏温度”文本域中输入一个值并点击“转换为摄氏”按钮。程序将根据用户的输入计算并在另一个文本域中显示相应的温度值。
注意:这个程序只是一个示例,您可以根据您的具体要求进行修改和扩展。
阅读全文