|
@@ -154,9 +154,9 @@ public class ReportSubjectGroupServiceImpl extends BaseQueryService<ReportSubjec
|
|
|
totalScore = DoubleUtil.sum(totalScore, score);
|
|
|
}
|
|
|
// 最大分
|
|
|
- Double maxScore = Collections.max(Arrays.asList(totalScoreArray));
|
|
|
+ Double maxScore = totalScoreArray.length==0?0:Collections.max(Arrays.asList(totalScoreArray));
|
|
|
// 最小分
|
|
|
- Double minScore = Collections.min(Arrays.asList(totalScoreArray));
|
|
|
+ Double minScore = totalScoreArray.length==0?0:Collections.min(Arrays.asList(totalScoreArray));
|
|
|
// 平均分
|
|
|
Double avgScore = DoubleUtil.div(totalScore, studentCount, 2);
|
|
|
// 计算方差
|
|
@@ -178,7 +178,7 @@ public class ReportSubjectGroupServiceImpl extends BaseQueryService<ReportSubjec
|
|
|
DoubleUtil.mul(DoubleUtil.sub(score, avgScore), DoubleUtil.sub(score, avgScore)));
|
|
|
}
|
|
|
// 标准差
|
|
|
- Double sd = DoubleUtil.format(Math.sqrt(variance / studentCount), "0.00");
|
|
|
+ Double sd = studentCount==0?0:DoubleUtil.format(Math.sqrt(variance / studentCount), "0.00");
|
|
|
// 差异系数
|
|
|
Double cv = 0d;
|
|
|
if (avgScore.doubleValue() > 0) {
|
|
@@ -277,9 +277,9 @@ public class ReportSubjectGroupServiceImpl extends BaseQueryService<ReportSubjec
|
|
|
totalScore = DoubleUtil.sum(totalScore, score);
|
|
|
}
|
|
|
// 最大分
|
|
|
- Double maxScore = Collections.max(Arrays.asList(totalScoreArray));
|
|
|
+ Double maxScore = totalScoreArray.length==0?0:Collections.max(Arrays.asList(totalScoreArray));
|
|
|
// 最小分
|
|
|
- Double minScore = Collections.min(Arrays.asList(totalScoreArray));
|
|
|
+ Double minScore = totalScoreArray.length==0?0:Collections.min(Arrays.asList(totalScoreArray));
|
|
|
// 平均分
|
|
|
Double avgScore = DoubleUtil.div(totalScore, studentCount, 2);
|
|
|
// 计算方差
|
|
@@ -301,7 +301,7 @@ public class ReportSubjectGroupServiceImpl extends BaseQueryService<ReportSubjec
|
|
|
DoubleUtil.mul(DoubleUtil.sub(score, avgScore), DoubleUtil.sub(score, avgScore)));
|
|
|
}
|
|
|
// 标准差
|
|
|
- Double sd = DoubleUtil.format(Math.sqrt(variance / studentCount), "0.00");
|
|
|
+ Double sd = studentCount==0?0:DoubleUtil.format(Math.sqrt(variance / studentCount), "0.00");
|
|
|
// 差异系数
|
|
|
Double cv = 0d;
|
|
|
if (avgScore.doubleValue() > 0) {
|