Отсутствует оператор return в цикле for - возвращает int, представляющий средний возраст всех объектов Customer в магазине - PullRequest
0 голосов
/ 27 февраля 2019

Я пытаюсь создать метод с именем AverageCustomerAge (), который должен возвращать int, представляющий средний возраст всех объектов Customer в магазине.Проблема в том, что я сталкиваюсь с ошибкой, которая говорит, что я пропускаю оператор возврата, но когда я пытаюсь добавить один, я получаю еще одну ошибку, говорящую «не могу найти символ».Кто-нибудь знает, как обойти это?

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

1 Ответ

0 голосов
/ 27 февраля 2019

Переменная 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;
}

Обратите внимание, что я возвращаю ноль в самом начале метода, если число клиентов равно нулю.Если бы мы не сделали это, то при нулевом числе клиентов среднее было бы делением на ноль, которое вы, вероятно, не хотите.

...