java - 如果数组未满,则在末尾添加一个值

标签 java arrays loops

所以我正在编写一些代码,该代码应该检查我的所有数组槽是否已满,如果没有将我的新成绩添加到数组中的下一个槽并返回 true,如果已满则返回 false。

我对如何检查我的数组(成绩)是否已满感到困惑。我有类似的东西,但不太确定它是否正确。

问题是由于某种原因它似乎只增加了一个等级。这也影响了我产生的分数?作为一个我以前从未见过的数字。

public boolean addGrade(int newGrade) {
    for (int i = 0; i < grades.length; i++) {
        if (grades[i] == -1)//or should i use 0 {
            grades[i] = newGrade;
            numGrades++;
            return true;
        }
    }
    return false;
}

score 方法(它要做的就是计算并返回分数:分数总计/totalGrades)

public double computeScore() {
    double total = 0;
    for (int i = 0; i < grades.length; i++) {
        total += grades[i];
    }
    return total / totalGrades;
}

最佳答案

您甚至可以通过在数组括号内递增来收紧一点:

public boolean addGrade(int newGrade) {

      if (numGrades < grades.length) {
        grades[numGrades++] = newGrade;
        return true;
      }
      return false;
}

关于java - 如果数组未满,则在末尾添加一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25007990/

相关文章:

java - 读取 CSV 并将字符串转换为 double

c - 多线程 - 光线追踪器

java - system.out 对象到字符串

java - 当我使用 -1 退出循环时,为什么会得到 ArrayIndexOutOfBounds?

java - 在java中将日期转换为纳秒

JavaScript 数组长度比较

javascript - Json 循环不运行

java - Java中操作数排序的重要性==

c - 如何使用C逐行读取txt文件(int,未知长度)?

python - 使用嵌套 for 循环创建字典