You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
2.5 KiB
63 lines
2.5 KiB
// 文件名: TemperatureConverter.java
|
|
// 这是一个温度转换程序,可以将摄氏温度和华氏温度互相转换
|
|
|
|
import java.util.Scanner; // 导入Scanner类,用来读取用户在键盘上的输入
|
|
|
|
/**
|
|
* 主类名,必须和文件名一致
|
|
*/
|
|
public class TemperatureConverter {
|
|
|
|
/**
|
|
* 主方法:程序的入口点
|
|
* @param args 命令行参数(虽然本次未使用,但这是Java的固定格式)[citation:3]
|
|
*/
|
|
public static void main(String[] args) {
|
|
// 1. 创建Scanner对象,用于接收用户的输入
|
|
Scanner scanner = new Scanner(System.in);
|
|
|
|
// 2. 提示用户输入
|
|
System.out.println("请输入温度值及其单位(例如:36.6 C 或 98 F),用空格隔开:");
|
|
|
|
// 3. 读取用户输入
|
|
double temperature = scanner.nextDouble(); // 读取第一个数字(温度值)
|
|
String unit = scanner.next(); // 读取第二个字符串(单位 C 或 F)
|
|
|
|
// 4. 关闭scanner
|
|
scanner.close();
|
|
|
|
// 5. 根据单位进行判断和转换
|
|
if (unit.equalsIgnoreCase("C")) { // 如果用户输入的是 C (忽略大小写)
|
|
// 调用 celsiusToFahrenheit 方法进行转换
|
|
double converted = celsiusToFahrenheit(temperature);
|
|
System.out.println(temperature + "°C 转换为华氏温度是:" + converted + "°F");
|
|
} else if (unit.equalsIgnoreCase("F")) { // 如果用户输入的是 F
|
|
// 调用 fahrenheitToCelsius 方法进行转换
|
|
double converted = fahrenheitToCelsius(temperature);
|
|
System.out.println(temperature + "°F 转换为摄氏温度是:" + converted + "°C");
|
|
} else {
|
|
// 如果用户输入的不是C或F
|
|
System.out.println("输入错误,单位只能是 C 或 F。");
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 将摄氏温度转换为华氏温度
|
|
* @param celsius 摄氏温度值
|
|
* @return 计算后的华氏温度值
|
|
*/
|
|
public static double celsiusToFahrenheit(double celsius) {
|
|
// 转换公式:华氏度 = 摄氏度 × 9/5 + 32
|
|
return celsius * 9 / 5 + 32;
|
|
}
|
|
|
|
/**
|
|
* 将华氏温度转换为摄氏温度
|
|
* @param fahrenheit 华氏温度值
|
|
* @return 计算后的摄氏温度值
|
|
*/
|
|
public static double fahrenheitToCelsius(double fahrenheit) {
|
|
// 转换公式:摄氏度 = (华氏度 - 32) × 5/9
|
|
return (fahrenheit - 32) * 5 / 9;
|
|
}
|
|
}
|