1 changed files with 53 additions and 0 deletions
@ -0,0 +1,53 @@ |
|||
import java.util.Scanner; |
|||
|
|||
/** |
|||
* 温度转换程序(与Python版本功能完全等效) |
|||
* 输入格式:温度值 + 空格 + 单位(C/F),例如 36.6 C 或 97 F |
|||
* 功能:实现摄氏温度↔华氏温度的相互转换 |
|||
*/ |
|||
public class TemperatureConverter { |
|||
// 摄氏温度转换为华氏温度的核心方法
|
|||
public static double celsiusToFahrenheit(double celsius) { |
|||
return celsius * 9.0 / 5.0 + 32; |
|||
} |
|||
|
|||
// 华氏温度转换为摄氏温度的核心方法
|
|||
public static double fahrenheitToCelsius(double fahrenheit) { |
|||
return (fahrenheit - 32) * 5.0 / 9.0; |
|||
} |
|||
|
|||
// 程序主入口,处理输入和输出逻辑
|
|||
public static void main(String[] args) { |
|||
// 创建Scanner对象接收用户输入
|
|||
Scanner scanner = new Scanner(System.in); |
|||
|
|||
// 提示语与你的Python程序完全一致
|
|||
System.out.print("请输入要转换的温度与单位(例如 36.6 C 或 97 F):"); |
|||
|
|||
// 读取温度值和单位(兼容空格分隔的输入格式)
|
|||
double temperature; |
|||
String unit; |
|||
try { |
|||
temperature = scanner.nextDouble(); // 读取温度数值
|
|||
unit = scanner.next().toUpperCase(); // 读取单位并统一转为大写(兼容小写输入)
|
|||
} catch (Exception e) { |
|||
System.out.println("输入格式错误!请按示例格式输入(如:36.6 C)"); |
|||
scanner.close(); |
|||
return; |
|||
} |
|||
|
|||
// 根据单位执行转换并输出结果
|
|||
if (unit.equals("C")) { |
|||
double result = celsiusToFahrenheit(temperature); |
|||
System.out.printf("%.2f C = %.2f F%n", temperature, result); |
|||
} else if (unit.equals("F")) { |
|||
double result = fahrenheitToCelsius(temperature); |
|||
System.out.printf("%.2f F = %.2f C%n", temperature, result); |
|||
} else { |
|||
System.out.println("单位错误!仅支持 C(摄氏)或 F(华氏)"); |
|||
} |
|||
|
|||
// 关闭Scanner,释放资源
|
|||
scanner.close(); |
|||
} |
|||
} |
|||
Loading…
Reference in new issue