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

Java代码编译报错unexpected type required: variable found: value求助

错误原因
  • 报错直接触发点是grades.get(i) += currDiff;这行代码:Java里List.get(int index)方法返回的是对应位置的值拷贝,不是可赋值的左值变量,所以不能直接对get()方法的返回值做累加/赋值操作,编译器才会提示「需要变量,实际得到的值」的错误。
  • 附带存在隐藏逻辑错误:你当前的循环条件写的是i < grades.size() - 1,会漏掉处理List最后一个元素,遍历全量元素应该调整为i < grades.size()。
修复方案

你可以用List.set(int index, E element)方法替换对应位置的元素值,修改后的参考代码如下:

public static List<Integer> gradingStudents(List<Integer> grades) {
    for(var i = 0; i < grades.size(); i++){
        Integer grade = grades.get(i);
        if(grade >= 38){
            var currDiff = 5 - (grade % 5);
            if(currDiff < 3){
                grades.set(i, grade + currDiff);
            }
        }
    }
    return grades;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 02:54:03