diff --git a/W1-巫秋雨-202506050320/AI_assist_record.txt b/W1-巫秋雨-202506050320/AI_assist_record.txt new file mode 100644 index 0000000..0c7e7dd --- /dev/null +++ b/W1-巫秋雨-202506050320/AI_assist_record.txt @@ -0,0 +1,4 @@ +AI 协助记录: +初始 Prompt:“将 Python 温度转换程序完整移植为 Java 程序,保留注释且功能一致,文件名 TemperatureConverter.java”; +AI 帮助:提供完整的 Java 代码框架,解释 Python 与 Java 的语法差异(如输入输出、函数 / 方法定义); +AI 解答:指导通过 cmd 的 dir 命令查看文件、修正保存后缀,最终完成编译运行。 \ No newline at end of file diff --git a/W1-巫秋雨-202506050320/README.md b/W1-巫秋雨-202506050320/README.md new file mode 100644 index 0000000..91a0bf6 --- /dev/null +++ b/W1-巫秋雨-202506050320/README.md @@ -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 +错误:请输入有效的数字作为温度值! \ No newline at end of file diff --git a/W1-巫秋雨-202506050320/TemperatureConverter.java b/W1-巫秋雨-202506050320/TemperatureConverter.java new file mode 100644 index 0000000..e0ce964 --- /dev/null +++ b/W1-巫秋雨-202506050320/TemperatureConverter.java @@ -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(); + } +} diff --git a/W1-巫秋雨-202506050320/run_output.txt b/W1-巫秋雨-202506050320/run_output.txt new file mode 100644 index 0000000..11c01b8 --- /dev/null +++ b/W1-巫秋雨-202506050320/run_output.txt @@ -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)! \ No newline at end of file