「Java案例」华氏摄氏温度转换
不管是看天气预报还是做科学实验,经常需要在华氏度和摄氏度之间转换。今天来实现这个的温度转换程序。
案例解析
温度双向转换
编写程序,实现华氏度和摄氏度互相转换的实现。
# 源文件保存为“TemperatureConverter.java”。
import java.util.Scanner;public class TemperatureConverter {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("请选择转换方向:");System.out.println("1. 摄氏度 → 华氏度");System.out.println("2. 华氏度 → 摄氏度");System.out.print("请输入选项:");int choice = scanner.nextInt();System.out.print("请输入温度值:");double temperature = scanner.nextDouble();double result;if (choice == 1) {// 摄氏度转华氏度公式:F = C × 9/5 + 32result = temperature * 9 / 5 + 32;System.out.printf("%.1f 摄氏度 = %.1f 华氏度\n", temperature, result);} else if (choice == 2) {// 华氏度转摄氏度公式:C = (F - 32) × 5/9result = (temperature - 32) * 5 / 9;System.out.printf("%.1f 华氏度 = %.1f 摄氏度\n", temperature, result);} else {System.out.println("无效选项!");}scanner.close();}
}
运行结果
运行程序,依次输入1
和100
,会得到:
请选择转换方向:
1.摄氏度 → 华氏度
2.华氏度 → 摄氏度
请输入选项:1
请输入温度值:100
100.0 摄氏度 = 212.0 华氏度
运行程序,依次输入2
和100
,会得到:
请选择转换方向:
1.摄氏度 → 华氏度
2.华氏度 → 摄氏度
请输入选项:2
请输入温度值:100
100.0 华氏度 = 37.8 摄氏度
代码解析:
- 使用
Scanner
获取用户输入的选择和温度值。 - 根据选择执行不同的转换。
- 摄氏度转华氏度:乘以9/5再加32。
- 华氏度转摄氏度:先减32再乘以5/9。
- 使用
printf
格式化输出,结果保留一位小数。 - 30摄氏度转换后是86.0华氏度
- 86华氏度转换后是30.0摄氏度
温度转换工具类
编写程序,把温度转换功能封装成工具类,在需要转换时可以调用方法,方便重复使用。
# 源文件保存为“TestTemperature.java”。
class TemperatureUtils {// 摄氏度转华氏度public static double celsiusToFahrenheit(double celsius) {