From 51667c54104d17b0458a05359207669e9ff3fc33 Mon Sep 17 00:00:00 2001 From: lisitong <3312630472@qq.com> Date: Thu, 19 Mar 2026 13:14:23 +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'W2-=E6=9D=8E=E6=80=9D=E5=BD=A4-202506050313'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- W2-李思彤-202506050313/DataCleaner.java | 34 ++++++++++++++++++++ W2-李思彤-202506050313/README.md | 14 ++++++++ W2-李思彤-202506050313/ai协助记录.txt | 32 ++++++++++++++++++ 3 files changed, 80 insertions(+) create mode 100644 W2-李思彤-202506050313/DataCleaner.java create mode 100644 W2-李思彤-202506050313/README.md create mode 100644 W2-李思彤-202506050313/ai协助记录.txt diff --git a/W2-李思彤-202506050313/DataCleaner.java b/W2-李思彤-202506050313/DataCleaner.java new file mode 100644 index 0000000..075a800 --- /dev/null +++ b/W2-李思彤-202506050313/DataCleaner.java @@ -0,0 +1,34 @@ +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) { + // 致命错误:遇到999,终止处理 + if (data == 999) { + System.out.println("致命错误: 传感器掉线, 终止处理"); + break; + } + + // 无效数据:0/负数 或 大于100且不是999 + if (data <= 0 || (data > 100 && data != 999)) { + System.out.println("警告: 发现越界数据[" + data + "], 已跳过"); + continue; + } + + // 正常范围:1~100,计入总和与计数 + validSum += data; + validCount++; + } + + // 最终输出平均值或提示 + if (validCount > 0) { + double average = (double) validSum / validCount; + System.out.println("有效数据平均值: " + average); + } else { + System.out.println("无有效数据"); + } + } +} \ No newline at end of file diff --git a/W2-李思彤-202506050313/README.md b/W2-李思彤-202506050313/README.md new file mode 100644 index 0000000..68f4fa7 --- /dev/null +++ b/W2-李思彤-202506050313/README.md @@ -0,0 +1,14 @@ +# 异常数据拦截与清洗流水线 + +## 项目简介 +本项目是一个 Java 实现的传感器数据清洗工具,用于处理传感器采集的原始数据,过滤无效值、处理硬件故障异常,并计算有效数据的平均值。 + +## 功能特性 +- ✅ 过滤 0、负数及大于 100 的越界数据 +- ✅ 检测传感器掉线信号(999)并终止处理 +- ✅ 统计有效数据总和与个数,计算平均值(保留小数) +- ✅ 输出清晰的警告与错误日志,便于问题排查 + +## 输入数据 +```java +int[] sensorData = {85, -5, 92, 0, 105, 999, 88, 76}; \ No newline at end of file diff --git a/W2-李思彤-202506050313/ai协助记录.txt b/W2-李思彤-202506050313/ai协助记录.txt new file mode 100644 index 0000000..103d20b --- /dev/null +++ b/W2-李思彤-202506050313/ai协助记录.txt @@ -0,0 +1,32 @@ + +--- + +# 📝 AI 协助记录 +```markdown +# AI 协助开发记录 + +## 基本信息 +- 作业名称:异常数据拦截与清洗流水线 +- 开发语言:Java +- 协助时间:2026-03-19 + +## 协助内容 +1. **代码实现** + - 基于题目要求,完成 `DataCleaner.java` 核心代码编写,包含循环遍历、条件判断、流程控制(`continue`/`break`) + - 处理了整数除法陷阱,确保平均值输出为小数格式 + - 规范了日志输出格式,符合题目要求的警告与错误提示 + +2. **问题排查** + - 解决了 Java 编译时“公共类名与文件名不一致”的错误 + - 指导了正确的文件命名规范(`DataCleaner.java`) + - 提供了完整的编译与运行步骤 + +3. **提交指导** + - 提供了 innoschool 平台的作业提交流程 + - 给出了 README 文档模板,便于作业说明与展示 + - 补充了代码注释规范与提交注意事项 + +## 成果 +- 完成可正常运行的 Java 数据清洗程序 +- 输出结果与题目要求完全一致 +- 形成了规范的项目文档与提交材料 \ No newline at end of file