Compare commits

...

3 Commits

  1. 3
      w1/AI协助记录
  2. 10
      w1/Helloworld.java
  3. 2
      w1/README.md
  4. 59
      w1/TemperatureConverter.java
  5. 2
      w1/sss.java
  6. 35
      w2/DataCleaner.java
  7. 5
      w2/实验报告

3
w1/AI协助记录

@ -0,0 +1,3 @@
- 协助完成 Java 代码结构设计,实现摄氏度/华氏度转换核心算法,并补充完整中文注释。
- 提供命令行参数处理方案,支持 `java TemperatureConverter 36.6 C` 格式的直接调用。
- 生成 README.md 模板,包含编译/运行命令、输出示例及作业提交说明。

10
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!");
}
}
}

2
w1/README.md

@ -0,0 +1,2 @@
$ java TemperatureConverter 36.6 C
命令行转换: 36.6 ℃ = 97.88 ℉

59
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("温度值格式错误,请输入数字");
}
}
}
}

2
w1/sss.java

@ -1,2 +0,0 @@
public class sss {
}

35
w2/DataCleaner.java

@ -0,0 +1,35 @@
public class DataCleaner {public static void main(String[] args) {
int[] sensorData = {85, -5, 92, 0, 105, 999, 88, 76};
int validSum = 0; // 有效数据总和
int validCount = 0; // 有效数据个数
// 遍历数组,处理每一个数据
for (int data : sensorData) {
// 3. 致命错误:遇到 999,终止整个流程
if (data == 999) {
System.out.println("致命错误: 传感器掉线, 终止处理。");
break;
}
// 2. 无效数据:0/负数 或 >100 且不是999
if (data <= 0 || data > 100) {
System.out.printf("警告: 发现越界数据[%d], 已跳过。%n", data);
continue;
}
// 1. 正常范围:1~100(包含),计入统计
validSum += data;
validCount++;
}
// 4. 最终输出:计算并打印平均值
if (validCount > 0) {
// 注意整数除法陷阱,转成 double 计算
double average = (double) validSum / validCount;
System.out.printf("有效数据平均值: %.2f%n", average);
} else {
System.out.println("无有效数据。");
}
}
}

5
w2/实验报告

@ -0,0 +1,5 @@
警告: 发现越界数据[-5], 已跳过。
警告: 发现越界数据[0], 已跳过。
警告: 发现越界数据[105], 已跳过。
致命错误: 传感器掉线, 终止处理。
有效数据平均值: 88.50
Loading…
Cancel
Save