Как я могу взять результат метода из другого класса? - PullRequest
0 голосов
/ 20 июня 2019

У меня есть 2 класса конструктора, курс и студент. Студенческий класс имеет результаты тестов и метод, который вычисляет среднее из этих тестов. В классе курса есть массив списков студентов, и моя цель состоит в том, чтобы взять средние оценки всех студентов в массиве и вычислить средние оценки, но я не понимаю, как взять среднее значение (результат среднего метода из класса ученика) и использовать его в среднем методе. в классе курса.

Я пытался создать другой метод getAverage в классе Student, а затем вызывать его в среднем методе класса Course для каждого студента. Но это не разрешено, и я не уверен, что это сработает.

public Student(String first, String last, Address home, Address school) {

    firstName = first;
    lastName = last;
    homeAddress = home;
    schoolAddress = school;
}
public double average() {
    avg = (test1 + test2 + test3) / 3.0;
    return avg;
}
// Thats part of Student class

public Course(String name) {
    courseName = name;
    students = new ArrayList<Student>();
}
public boolean addStudent(Student person) {
    if (!students.contains(person)) {
        students.add(person);
        return true;
    }
    return false;
}
public double average() { // Having trouble with creating this method

}

Я могу предоставить дополнительную информацию, если это необходимо. Заранее спасибо ! РЕДАКТИРОВАТЬ: Добавление того, что я пытался.

public double getAverage() {
    return avg;
 }
// GetAverage method in Student class

public double average() { // average method i tried in Course class
    double average, studentAvg, sum;
    studentAvg.getAverage(); // It isses error at this line
    sum += studentAvg;
    average = sum / students.size();
    return average;

 }

1 Ответ

0 голосов
/ 20 июня 2019

Для того, чтобы получить общее среднее число студентов, необходимо выполнить итерацию всех студентов и рассчитать общее среднее значение.

Summation of All student average / number of students.


public double average() {
    if (students.isEmpty()) {
        return 0;
    }
    double sum = 0;
    for (Student s: students) {
        sum += s.average();
    }
    return sum/students.size();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...