You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot上传Excel批量计算学生CGPA空指针异常问题求助

错误定位

你的空指针异常由总分计算逻辑的单元格索引书写错误导致:
代码中row.getCell(2 + 3 + 4 + 5 + 6 + 7)的写法会先计算括号内的算术和,得到索引值27,而你的Excel文件仅包含8列(索引范围0~7),不存在索引为27的单元格,调用getNumericCellValue()时就会触发空指针。

修复方案

你不需要额外读取单元格获取总分,直接累加已经读取到的6门科目成绩即可,修改计算逻辑部分的代码:

// 删掉原来错误的totalMarks计算行,替换为以下内容
double totalMarks = tempStudent.getSubject1() + tempStudent.getSubject2() + tempStudent.getSubject3() + tempStudent.getSubject4() + tempStudent.getSubject5() + tempStudent.getSubject6();
double percentage = totalMarks / 6;
double cgpa = percentage / 9.5;
tempStudent.setCgpa(cgpa);

修改后重启服务即可正常计算并返回CGPA字段值。如果需要兼容后续Excel可能出现的空单元格场景,可以对每个科目值提前做非空判断、默认赋值0,避免后续触发空指针。

内容的提问来源于stack exchange,提问作者user15958535

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 07:48:04