diff --git a/Java运行结果.png b/Java运行结果.png deleted file mode 100644 index ddfab6f..0000000 Binary files a/Java运行结果.png and /dev/null differ diff --git a/README.md b/README.md deleted file mode 100644 index 55c0899..0000000 --- a/README.md +++ /dev/null @@ -1,14 +0,0 @@ -# TemperatureConverter - -将 Python 温度转换程序改写为等效 Java 程序,实现摄氏温度与华氏温度的双向转换。 - -## 功能说明 -支持交互式输入:程序启动后等待用户输入温度与单位(例如程序提问后我输入 `35.2 C`)。 -支持命令行参数:直接在运行命令后传入温度与单位(如 `java TemperatureConverter 86 F`,直接输出,无需程序提问)。 -支持批量转换:我先编写了temperatures文件,里面有很多温度,通过 `--batch` 参数读取文本文件进行批量转换。 - -## 编译命令 -在 Windows PowerShell 中,进入代码所在目录后执行: -```powershell -javac TemperatureConverter.java -``` diff --git a/TemperatureConverter.java b/TemperatureConverter.java deleted file mode 100644 index abf8ca9..0000000 --- a/TemperatureConverter.java +++ /dev/null @@ -1,142 +0,0 @@ -import java.io.File; -import java.util.Scanner; - - -public class TemperatureConverter { - - /* - * 摄氏度转华氏度。 - * 参数:c 表示摄氏温度 - * 返回转换后的华氏温度 - */ - public static double celsiusToFahrenheit(double c) { - return c * 9.0 / 5.0 + 32.0; - } - - /* - * 华氏度转摄氏度。 - * 参数:f 表示华氏温度 - * 返回转换后的摄氏温度 - */ - public static double fahrenheitToCelsius(double f) { - return (f - 32.0) * 5.0 / 9.0; - } - - /* - * 程序入口。 - * 参数:args 为命令行参数,用于选择运行模式: - * 1) 无参数:交互式输入 - * 2) 两个参数:命令行模式(数值 + 单位) - * 3) --batch 文件名:批量模式 - */ - public static void main(String[] args) { - // 无参数:交互式(从控制台读一行:数值 单位) - if (args.length == 0) { - // 创建控制台输入对象 - Scanner sc = new Scanner(System.in); - System.out.print("请输入要转换的温度与单位(例如 36.6 C 或 97 F):"); - String input = sc.nextLine().trim(); - if (input.isEmpty()) { - System.out.println("输入为空,程序退出。"); - sc.close(); - return; - } - // 按空格切分:parts[0] 为数值,parts[1] - String[] parts = input.split("\\s+"); - try { - // 解析温度数值 - double value = Double.parseDouble(parts[0]); - // 没写单位时默认按 C 处理 - String unit = parts.length > 1 ? parts[1].toUpperCase() : "C"; - if (unit.startsWith("C")) { - double f = celsiusToFahrenheit(value); - // 左边显示用户原始输入,右边保留两位小数 - System.out.printf("%s °C = %.2f °F%n", parts[0], f); - } else if (unit.startsWith("F")) { - double c = fahrenheitToCelsius(value); - // 左边显示用户原始输入,右边保留两位小数 - System.out.printf("%s °F = %.2f °C%n", parts[0], c); - } else { - // 单位不认识就提示 - System.out.println("未知单位,请使用 C 或 F。"); - } - } catch (Exception e) { - // 输入不是“数字 + 单位”的格式,或数字解析失败,就给出提示 - System.out.println("输入解析失败,请按示例输入数值与单位,例如:36.6 C"); - } - sc.close(); - return; - } - - // --batch 文件名:批量转换(从文件逐行读取,每行:数值 单位) - if (args.length == 2 && args[0].equals("--batch")) { - try { - // 打开文件并逐行读取 - Scanner fileSc = new Scanner(new File(args[1])); - int lineNum = 0; - while (fileSc.hasNextLine()) { - lineNum++; - String line = fileSc.nextLine().trim(); - // 跳过空行、注释行 - if (line.isEmpty() || line.startsWith("#")) - continue; - String[] p = line.split("\\s+"); - try { - // 解析每行的温度数值与单位 - double val = Double.parseDouble(p[0]); - String u = p.length > 1 ? p[1].toUpperCase() : "C"; - if (u.startsWith("C")) { - // 左边显示文件中的原始数值文本,右边保留两位小数 - System.out.printf("%s °C = %.2f °F%n", p[0], celsiusToFahrenheit(val)); - } else if (u.startsWith("F")) { - // 左边显示文件中的原始数值文本,右边保留两位小数 - System.out.printf("%s °F = %.2f °C%n", p[0], fahrenheitToCelsius(val)); - } else { - // 单位不对:提示并跳过该行 - System.out.println("第" + lineNum + "行单位错误,已跳过"); - } - } catch (Exception e) { - // 某一行格式不对:提示并跳过,不影响后续行 - System.out.println("第" + lineNum + "行格式错误,已跳过:" + line); - } - } - // 文件读取完成后关闭 Scanner - fileSc.close(); - } catch (Exception e) { - // 文件打不开/找不到等情况:提示原因 - System.out.println("读取文件失败:" + e.getMessage()); - } - return; - } - - // 两个参数:命令行模式(直接从 args 读:数值 + 单位) - if (args.length == 2) { - try { - // 解析第一个参数为温度数值 - double value = Double.parseDouble(args[0]); - // 第二个参数为单位 - String unit = args[1].toUpperCase(); - if (unit.startsWith("C")) { - // 左边显示命令行原始参数,右边保留两位小数 - System.out.printf("%s °C = %.2f °F%n", args[0], celsiusToFahrenheit(value)); - } else if (unit.startsWith("F")) { - // 左边显示命令行原始参数,右边保留两位小数 - System.out.printf("%s °F = %.2f °C%n", args[0], fahrenheitToCelsius(value)); - } else { - // 单位不认识就提示 - System.out.println("未知单位,请使用 C 或 F。"); - } - } catch (Exception e) { - // 参数解析失败:给出用法提示 - System.out.println("参数格式错误,用法:java TemperatureConverter 36.6 C"); - } - return; - } - - // 参数不对:输出帮助信息 - System.out.println("用法:"); - System.out.println(" 交互式:java TemperatureConverter"); - System.out.println(" 命令行:java TemperatureConverter 36.6 C"); - System.out.println(" 批量: java TemperatureConverter --batch temperatures.txt"); - } -} diff --git a/ai协助记录.docx b/ai协助记录.docx deleted file mode 100644 index b0175f6..0000000 Binary files a/ai协助记录.docx and /dev/null differ diff --git a/ai协助记录.txt b/ai协助记录.txt deleted file mode 100644 index 4ca2b87..0000000 --- a/ai协助记录.txt +++ /dev/null @@ -1 +0,0 @@ -aipythonıתΪjavaٺͲʾʣȻһƴٵݣӽ޲ȻJava¶תСλСôдJavą¶Ⱥ͵λôַ޲ôдд룬ѧ֪ʶʱai PowerShelljavacjavaôдС \ No newline at end of file