代码:
BigDecimal[] tempSum = new BigDecimal[24];//气温综合
BigDecimal[] tempAvg = new BigDecimal[24];//气温平均值 即为第n天的初次预测温度
for(int l = 0;l<=23;l++){//一天的24小时
for(int j=0;j<daynum;j++){//daynum天的历史数据
tempSum[l] = tempSum[l].add(allTemp[l+j*24]);
}
tempAvg[l] = new BigDecimal(0.0);
tempAvg[l] = tempSum[l].divide(new BigDecimal(daynum+""));
}
错误:NullPointerException
原因:通过Debugger可以看出,BigDecimal数组在被声明后,所有元素都是null
解决:
Arrays.fill(tempSum,BigDecimal.ZERO);
通过Arrays的静态方法fill,来填充0值
参考资料:https://stackoverflow.com/questions/20683665/declare-initial-value-of-bigdecimal-array-in-java