From a36270a51c6d78b801f1fcd133d30489b4303d8c Mon Sep 17 00:00:00 2001 From: zhuyanshuo <3663541984@qq.com> Date: Sun, 29 Mar 2026 11:01:25 +0800 Subject: [PATCH] TemperatureConverter --- w1/AI协助记录 | 3 ++ w1/Helloworld.java | 10 ++++++ w1/README.md | 2 ++ w1/TemperatureConverter.java | 59 ++++++++++++++++++++++++++++++++++++ w1/sss.java | 2 -- 5 files changed, 74 insertions(+), 2 deletions(-) create mode 100644 w1/AI协助记录 create mode 100644 w1/Helloworld.java create mode 100644 w1/README.md create mode 100644 w1/TemperatureConverter.java delete mode 100644 w1/sss.java diff --git a/w1/AI协助记录 b/w1/AI协助记录 new file mode 100644 index 0000000..fef7f3b --- /dev/null +++ b/w1/AI协助记录 @@ -0,0 +1,3 @@ +- 协助完成 Java 代码结构设计,实现摄氏度/华氏度转换核心算法,并补充完整中文注释。 +- 提供命令行参数处理方案,支持 `java TemperatureConverter 36.6 C` 格式的直接调用。 +- 生成 README.md 模板,包含编译/运行命令、输出示例及作业提交说明。 diff --git a/w1/Helloworld.java b/w1/Helloworld.java new file mode 100644 index 0000000..99073c7 --- /dev/null +++ b/w1/Helloworld.java @@ -0,0 +1,10 @@ +public class Helloworld {/** + * 简单 HelloWorld 程序,用于验证 Java 环境 + * @author [你的姓名] + */ +public class HelloWorld { + public static void main(String[] args) { + System.out.println("Hello, Java World!"); + } +} +} diff --git a/w1/README.md b/w1/README.md new file mode 100644 index 0000000..d735b42 --- /dev/null +++ b/w1/README.md @@ -0,0 +1,2 @@ +$ java TemperatureConverter 36.6 C +命令行转换: 36.6 ℃ = 97.88 ℉ \ No newline at end of file diff --git a/w1/TemperatureConverter.java b/w1/TemperatureConverter.java new file mode 100644 index 0000000..2d4e92f --- /dev/null +++ b/w1/TemperatureConverter.java @@ -0,0 +1,59 @@ +/** + * 温度转换工具类 + * 实现摄氏度与华氏度的双向转换,并提供测试用例 + * @author [你的姓名] + * @version 1.0 + */ +public class TemperatureConverter { + + /** + * 摄氏度转华氏度 + * 公式: F = C × 9/5 + 32 + * @param celsius 摄氏温度值 + * @return 对应的华氏温度值 + */ + public static double celsiusToFahrenheit(double celsius) { + return celsius * 9.0 / 5.0 + 32.0; + } + + /** + * 华氏度转摄氏度 + * 公式: C = (F - 32) × 5/9 + * @param fahrenheit 华氏温度值 + * @return 对应的摄氏温度值 + */ + public static double fahrenheitToCelsius(double fahrenheit) { + return (fahrenheit - 32.0) * 5.0 / 9.0; + } + + /** + * 主方法:程序入口,包含测试用例 + * @param args 命令行参数(可选,支持直接传入温度值和单位进行转换) + */ + public static void main(String[] args) { + // 示例测试用例 + double testC = 25.0; + double testF = 77.0; + + System.out.println("=== 温度转换测试 ==="); + System.out.printf("%.1f ℃ 转换为华氏度: %.1f ℉%n", testC, celsiusToFahrenheit(testC)); + System.out.printf("%.1f ℉ 转换为摄氏度: %.1f ℃%n", testF, fahrenheitToCelsius(testF)); + + // 支持命令行参数模式(加分项) + if (args.length == 2) { + try { + double temp = Double.parseDouble(args[0]); + String unit = args[1].toUpperCase(); + if (unit.equals("C")) { + System.out.printf("命令行转换: %.1f ℃ = %.1f ℉%n", temp, celsiusToFahrenheit(temp)); + } else if (unit.equals("F")) { + System.out.printf("命令行转换: %.1f ℉ = %.1f ℃%n", temp, fahrenheitToCelsius(temp)); + } else { + System.out.println("单位错误,请使用 C 或 F"); + } + } catch (NumberFormatException e) { + System.out.println("温度值格式错误,请输入数字"); + } + } + } +} diff --git a/w1/sss.java b/w1/sss.java deleted file mode 100644 index 02b3115..0000000 --- a/w1/sss.java +++ /dev/null @@ -1,2 +0,0 @@ -public class sss { -}