Java数组计算方法无返回值求助:季度销售额输出始终为0.0
问题分析与修复
核心问题出在q3Sales方法的第一行:
deptArray = new double[monthly];
你在这里重新创建了一个新的double数组,直接覆盖了方法参数中传入的、已经通过addData填充好数据的部门数组。Java中新建的double数组所有元素默认值都是0.0,所以后续计算的Q3Sum必然返回0.0。
修复代码
删掉这行多余的数组初始化代码,直接使用传入的参数数组即可:
public double q3Sales (double [] deptArray) { //9.Q3 Sales Calculation for all departments double Q3Sum = 0; Q3Sum = deptArray[6]+deptArray[7]+deptArray[8]; return Q3Sum; }
额外优化建议
为了避免硬编码数组索引(比如Q3对应6、7、8),可以用循环实现求和,代码更易维护且不易出错:
public double q3Sales (double [] deptArray) { double Q3Sum = 0; // Q3对应第7-9月,数组索引6到8(包含) for (int i = 6; i <= 8; i++) { Q3Sum += deptArray[i]; } return Q3Sum; }
同理,Q1(索引0-2)、Q2(3-5)、Q4(9-11)的计算也可以用类似逻辑实现。
内容的提问来源于stack exchange,提问作者N K
相关产品推荐
相关产品推荐

