Java列表<整数>

我有以下方法:

public static List<Integer> gradingStudents(List<Integer> grades) {
    for(int i = 0; i < grades.size(); i++){
        if(grades.get(i) < 40)
            continue;
        else if(grades.get(i) % 5 < 3)
            grades.get(i) = grades.get(i) + (Math.abs(grades.get(i)%5-5));     
        else
            continue;
    }
    return grades;
}

我在else if部分遇到了意外的类型错误。为什么我不能grades像上面代码中写的那样更改 的元素?

回答

您不能分配给grades.get(i).

我建议您按如下方式简化代码:

public static List<Integer> gradingStudents(List<Integer> grades) {
    for(int i = 0; i < grades.size(); i++){
        int grade = grades.get(i);
        if (grade >= 40 && grade % 5 < 3) {
            grades.set(i, grade + Math.abs(grade%5-5));   
        }  
    }
    return grades;
}

  • @bravoJohnny [What should I do when someone answers my question?](https://stackoverflow.com/help/someone-answers)

以上是Java列表&lt;整数&gt;的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>