diff --git a/DataCleaner.class b/DataCleaner.class new file mode 100644 index 0000000..fa66a1e Binary files /dev/null and b/DataCleaner.class differ diff --git a/DataCleaner.java b/DataCleaner.java new file mode 100644 index 0000000..fb2d89a --- /dev/null +++ b/DataCleaner.java @@ -0,0 +1,36 @@ +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 value : sensorData) { + // 先检查致命错误:传感器掉线(值为999) + if (value == 999) { + System.out.println("致命错误:传感器掉线,终止处理"); + break; // 立即终止循环 + } + + // 正常范围:1 ~ 100(包含边界) + if (value >= 1 && value <= 100) { + validSum += value; + validCount++; + } else { + // 其他情况均为越界数据(0、负数、大于100且不是999) + System.out.println("警告:发现越界数据 [" + value + "],已跳过"); + // continue 可省略,因为后面没有需要执行的语句 + } + } + + // 输出结果 + if (validCount > 0) { + // 注意整数除法陷阱,将其中一个操作数转为double + double average = (double) validSum / validCount; + System.out.println("有效数据的平均值:" + average); + } else { + System.out.println("无有效数据"); + } + } +}