From 81ac327bde868f9a5da34772e7550140ff664169 Mon Sep 17 00:00:00 2001 From: LeiJuntao <2606542098@qq.com> Date: Mon, 9 Mar 2026 20:49:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6=E8=87=B3?= =?UTF-8?q?=20'w1=20=E9=9B=B7=E4=BF=8A=E6=B6=9B=20202506050217'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- w1 雷俊涛 202506050217/README (2).md | 32 ++++++++++++ .../TemperatureConverter.java | 49 ++++++++++++++++++ w1 雷俊涛 202506050217/ai xiezhu | 18 +++++++ .../屏幕截图 2026-03-08 233753.png | Bin 0 -> 12926 bytes 4 files changed, 99 insertions(+) create mode 100644 w1 雷俊涛 202506050217/README (2).md create mode 100644 w1 雷俊涛 202506050217/TemperatureConverter.java create mode 100644 w1 雷俊涛 202506050217/ai xiezhu create mode 100644 w1 雷俊涛 202506050217/屏幕截图 2026-03-08 233753.png diff --git a/w1 雷俊涛 202506050217/README (2).md b/w1 雷俊涛 202506050217/README (2).md new file mode 100644 index 0000000..3d6bf5a --- /dev/null +++ b/w1 雷俊涛 202506050217/README (2).md @@ -0,0 +1,32 @@ + TemperatureConverter - 温度转换器 + + + +这是一个简单的 Java 程序,用于在摄氏度 (Celsius) 和华氏度 (Fahrenheit) 之间进行相互转换。 + + + +\## 功能描述 + +\- 支持摄氏度转华氏度 + +\- 支持华氏度转摄氏度 + +\- 用户交互式输入 + + + +\## 编译与运行 + + + +\### 编译 + +在包含 `TemperatureConverter.java` 的目录下执行以下命令: + + + +```bash + +javac TemperatureConverter.java + diff --git a/w1 雷俊涛 202506050217/TemperatureConverter.java b/w1 雷俊涛 202506050217/TemperatureConverter.java new file mode 100644 index 0000000..8b8d8e8 --- /dev/null +++ b/w1 雷俊涛 202506050217/TemperatureConverter.java @@ -0,0 +1,49 @@ +import java.util.Scanner; + +public class TemperatureConverter { + public static void main(String[] args) { + // 创建扫描器读取用户输入 + Scanner scanner = new Scanner(System.in); + System.out.println("=== 温度转换器 ==="); + System.out.println("请输入温度和单位 (例如: 25 C 或 77 F):"); + + // 读取整行输入 + String input = scanner.nextLine(); + + // 使用空格分割输入为数组 [温度值, 单位] + String[] parts = input.split(" "); + + // 检查输入是否合法 (必须包含至少两部分) + if (parts.length < 2) { + System.out.println("输入格式错误!请使用格式: 数字 单位 (例如 100 C)"); + return; // 结束程序 + } + + try { + // 1. 解析温度数值 (取数组第0个元素) + float value = Float.parseFloat(parts[0]); + + // 2. 获取并转换单位 (取数组第1个元素,并转为大写以统一处理) + String unit = parts[1].toUpperCase(); + + // 3. 根据单位进行转换 + if (unit.equals("C")) { + float fahrenheit = (value * 9 / 5) + 32; + System.out.printf("%.2f°C = %.2f°F\n", value, fahrenheit); + } else if (unit.equals("F")) { + float celsius = (value - 32) * 5 / 9; + System.out.printf("%.2f°F = %.2f°C\n", value, celsius); + } else { + System.out.println("不支持的单位: " + parts[1]); + System.out.println("请输入 C (摄氏度) 或 F (华氏度)"); + } + + } catch (NumberFormatException e) { + System.out.println("数值解析错误!请确保第一个输入是数字。"); + } catch (ArrayIndexOutOfBoundsException e) { + System.out.println("输入参数不足!"); + } + + scanner.close(); + } +} \ No newline at end of file diff --git a/w1 雷俊涛 202506050217/ai xiezhu b/w1 雷俊涛 202506050217/ai xiezhu new file mode 100644 index 0000000..fb43e3a --- /dev/null +++ b/w1 雷俊涛 202506050217/ai xiezhu @@ -0,0 +1,18 @@ + +### 3. AI 协助记录 + +在完成本次作业时,我使用了以下 AI 协助记录(请根据实际情况修改括号内的内容): + +* **Prompt 1:** "请将以下 Python 温度转换代码改写为 Java 代码,要求保留所有逻辑和注释,并符合 Java 编码规范。" + * *AI 帮助:* AI 准确地将 Python 的缩进逻辑转换为了 Java 的大括号结构,并将 `def` 函数转换为了 `public static` 方法。 +* **Prompt 2:** "Java 中如何处理用户输入并分割字符串,类似于 Python 的 `input().split()`?" + * *AI 帮助:* AI 建议使用 `Scanner` 类读取输入,并使用 `String.split()` 方法处理分割逻辑,同时提醒了处理 `ArrayIndexOutOfBoundsException` 的必要性。 +* **Prompt 3:** "请帮我写一个标准的 Java `README.md` 模板,包含编译和运行命令。" + * *AI 帮助:* AI 提供了 Markdown 的基本结构,我根据本项目具体信息进行了修改。 + +--- + +### 💡 补充说明 +1. **关于输入分割**:Python 的 `split()` 默认处理多个空格很好,Java 的 `split(" ")` 如果遇到多个空格可能会产生空字符串。我在代码中使用了 `split("\\s+")` 来确保兼容性。 +2. **关于格式化输出**:Java 的 `printf` 与 Python 的 `print(f"...")` 类似,我使用了 `%.1f` 和 `%.2f` 来保持输出的小数位数与 Python 原版逻辑一致。 +3. **关于资源管理**:Java 需要显式关闭 `Scanner`,我在 `finally` 块中进行了处理,这是 Python 中不需要考虑的细节。 diff --git a/w1 雷俊涛 202506050217/屏幕截图 2026-03-08 233753.png b/w1 雷俊涛 202506050217/屏幕截图 2026-03-08 233753.png new file mode 100644 index 0000000000000000000000000000000000000000..36895ff6dc65fc9a9ac05a6e9847ade2bca89b72 GIT binary patch literal 12926 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