在for循环中缺少return语句 - 返回int表示商店中所有Customer对象的平均年龄

Eag*_*sac 0 java for-loop return

我正在尝试创建一个名为averageCustomerAge()的方法,该方法应该返回一个int,表示商店中所有Customer对象的平均年龄.问题是我遇到了一个错误,说我错过了一个return语句,但是当我尝试添加一个时,我得到另一个错误,说"找不到符号".任何人都知道如何解决这个问题?

public int averageCustomerAge() {
    for (int i = 0; i < customerCount; i++) {
        int sum = 0;
        sum += customers[i].age;
        int average = (sum / customerCount);
    }
    return average;
}
}
Run Code Online (Sandbox Code Playgroud)

Tim*_*sen 6

average变量应该外部定义for循环.而且,在计算总和之后,您应该只计算一次平均值.但是,您可以将方法简化为以下内容:

public int averageCustomerAge() {
    if (customerCount == 0) return 0;

    int sum = 0;
    for (int i=0; i < customerCount; i++) {
        sum += customers[i].age;
    }

    int average = sum / customerCount;

    return average;
}
Run Code Online (Sandbox Code Playgroud)

请注意,如果客户计数为零,我会在方法的最开始返回零.如果我们这样做,那么对于零客户数,平均值将除以零,这可能是您不想要的.