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