/** * 传感器数据清洗处理器 * 功能:遍历传感器数组,根据规则过滤异常数据并计算有效数据的平均值 */ void main() { // 传感器原始数据数组 int[] sensorData = {85, -5, 92, 0, 105, 999, 88, 76}; // 用于累计有效数据的总和 int sum = 0; // 用于统计有效数据的个数 int count = 0; IO.println("=== 传感器数据清洗开始 ==="); // 遍历传感器数据数组 for (int data : sensorData) { // 情况 1: 检查是否为致命错误 (999 代表传感器硬件断开) if (data == 999) { IO.println("致命错误:传感器掉线,终止处理"); // 使用 break 立即终止整个循环 break; } // 情况 2: 检查数据是否在正常范围内 (1 到 100 之间,包含 1 和 100) if (data >= 1 && data <= 100) { // 数据有效,累加到总和并增加计数 sum += data; count++; IO.println("数据 [" + data + "] 有效,已计入总和"); } // 情况 3: 数据无效 (0、负数,或大于 100 但不是 999) else { // 使用 continue 跳过当前循环,不执行后续代码 IO.println("警告:发现越界数据 [" + data + "],已跳过"); } } IO.println("=== 传感器数据清洗结束 ==="); // 循环结束后,根据有效数据个数处理最终结果 if (count > 0) { // 有有效数据,计算平均值 // 注意:需要将 sum 强制转换为 float 或 double,避免整数除法导致精度丢失 double average = (double) sum / count; IO.println("有效数据个数:" + count); IO.println("有效数据总和:" + sum); System.out.printf("有效数据平均值:%.2f%n", average); } else { // 没有任何有效数据 IO.println("无有效数据"); } }