首页 > 解决方案 > 我如何从其他类中获取方法结果?

问题描述

我有 2 个构造函数类,课程和学生。学生班级有考试成绩和计算这些考试平均值的方法。课程类有学生数组列表,我的目标是获取数组中所有学生的平均分数并计算平均分数,但我不明白如何获取平均值(来自学生类的平均方法的结果)并在平均方法中使用它在课程课上。

我尝试在 Student 类中创建另一种方法 getAverage,然后在 Course 类中为每个学生以 average 方法调用它。但那是不允许的,也不确定这是否可行。

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;

 }

标签: java

解决方案


为了获得学生的总平均数,需要迭代所有学生并计算总平均数。

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();
}

推荐阅读