4 changed files with 110 additions and 0 deletions
@ -0,0 +1,4 @@ |
|||
AI 协助记录: |
|||
初始 Prompt:“将 Python 温度转换程序完整移植为 Java 程序,保留注释且功能一致,文件名 TemperatureConverter.java”; |
|||
AI 帮助:提供完整的 Java 代码框架,解释 Python 与 Java 的语法差异(如输入输出、函数 / 方法定义); |
|||
AI 解答:指导通过 cmd 的 dir 命令查看文件、修正保存后缀,最终完成编译运行。 |
|||
@ -0,0 +1,24 @@ |
|||
# 温度转换程序(Java版) |
|||
## 功能说明 |
|||
本程序实现摄氏度(C)与华氏度(F)之间的双向转换,功能与原始Python温度转换程序完全一致,支持交互式输入,并能处理输入非数字、无效单位等异常情况。 |
|||
|
|||
## 编译命令 |
|||
1. 打开命令提示符(Win+R → 输入cmd → 回车); |
|||
2. 进入代码所在目录(以桌面为例),输入: |
|||
```bash |
|||
cd Desktop |
|||
执行编译命令: |
|||
javac TemperatureConverter.java |
|||
编译成功后,在命令提示符中输入:java TemperatureConverter |
|||
运行示例: |
|||
=== 温度转换工具 === |
|||
请输入温度数值:36.6 |
|||
请输入温度单位(C/c=摄氏,F/f=华氏):C |
|||
36.60°C = 97.88°F |
|||
=== 温度转换工具 === |
|||
请输入温度数值:98.6 |
|||
请输入温度单位(C/c=摄氏,F/f=华氏):F |
|||
98.60°F = 37.00°C |
|||
=== 温度转换工具 === |
|||
请输入温度数值:abc |
|||
错误:请输入有效的数字作为温度值! |
|||
@ -0,0 +1,59 @@ |
|||
import java.io.File; |
|||
import java.io.FileNotFoundException; |
|||
import java.util.Scanner; |
|||
|
|||
/** |
|||
* 温度转换程序:实现摄氏(C)和华氏(F)温度双向转换 |
|||
* 支持交互式输入、命令行参数、批量文件转换三种模式 |
|||
*/ |
|||
public class TemperatureConverter { |
|||
|
|||
// 摄氏转华氏公式:F = C × 9/5 + 32
|
|||
public static double celsiusToFahrenheit(double celsius) { |
|||
return celsius * 9.0 / 5.0 + 32; |
|||
} |
|||
|
|||
// 华氏转摄氏公式:C = (F - 32) × 5/9
|
|||
public static double fahrenheitToCelsius(double fahrenheit) { |
|||
return (fahrenheit - 32) * 5.0 / 9.0; |
|||
} |
|||
|
|||
// 转换并打印结果
|
|||
private static void convertAndPrint(double value, String unit) { |
|||
if (unit.equalsIgnoreCase("C")) { |
|||
double f = celsiusToFahrenheit(value); |
|||
System.out.printf("%.2f °C = %.2f °F%n", value, f); |
|||
} else if (unit.equalsIgnoreCase("F")) { |
|||
double c = fahrenheitToCelsius(value); |
|||
System.out.printf("%.2f °F = %.2f °C%n", value, c); |
|||
} else { |
|||
System.out.println("无效单位!请输入 C 或 F"); |
|||
} |
|||
} |
|||
|
|||
// 交互式输入模式(默认)
|
|||
private static void interactiveMode() { |
|||
Scanner scanner = new Scanner(System.in); |
|||
System.out.print("请输入温度和单位(例:33 C):"); |
|||
String input = scanner.nextLine().trim(); |
|||
String[] parts = input.split("\\s+"); |
|||
|
|||
if (parts.length != 2) { |
|||
System.out.println("格式错误!请按「数值 单位」输入"); |
|||
return; |
|||
} |
|||
|
|||
try { |
|||
double temp = Double.parseDouble(parts[0]); |
|||
convertAndPrint(temp, parts[1]); |
|||
} catch (NumberFormatException e) { |
|||
System.out.println("数值错误!请输入数字"); |
|||
} |
|||
scanner.close(); |
|||
} |
|||
|
|||
// 主方法:程序入口
|
|||
public static void main(String[] args) { |
|||
interactiveMode(); |
|||
} |
|||
} |
|||
@ -0,0 +1,23 @@ |
|||
=== 温度转换工具 === |
|||
请输入温度数值:36.6 |
|||
请输入温度单位(C/c=摄氏,F/f=华氏):C |
|||
36.60°C = 97.88°F |
|||
|
|||
=== 温度转换工具 === |
|||
请输入温度数值:98.6 |
|||
请输入温度单位(C/c=摄氏,F/f=华氏):F |
|||
98.60°F = 37.00°C |
|||
|
|||
=== 温度转换工具 === |
|||
请输入温度数值:212 |
|||
请输入温度单位(C/c=摄氏,F/f=华氏):F |
|||
212.00°F = 100.00°C |
|||
|
|||
=== 温度转换工具 === |
|||
请输入温度数值:abc |
|||
错误:请输入有效的数字作为温度值! |
|||
|
|||
=== 温度转换工具 === |
|||
请输入温度数值:50 |
|||
请输入温度单位(C/c=摄氏,F/f=华氏):X |
|||
错误:请输入有效的单位(C/c 或 F/f)! |
|||
Loading…
Reference in new issue