Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从其他类获取方法结果?_Java - Fatal编程技术网

Java 如何从其他类获取方法结果?

Java 如何从其他类获取方法结果?,java,Java,我有两个构造器类,课程和学生。学生班级有测试分数和计算这些测试平均值的方法。课程班有学生的数组列表,我的目标是取数组中所有学生的平均分数并计算平均分数,但我不知道如何取avg值(学生班平均法的结果)并在课程班的平均法中使用它 我尝试在学生课堂上使用另一种方法getAverage,然后在课程课堂上为每个学生调用average方法。但这是不允许的,也不确定这是否有效 public Student(String first, String last, Address home, Address sch

我有两个构造器类,课程和学生。学生班级有测试分数和计算这些测试平均值的方法。课程班有学生的数组列表,我的目标是取数组中所有学生的平均分数并计算平均分数,但我不知道如何取avg值(学生班平均法的结果)并在课程班的平均法中使用它

我尝试在学生课堂上使用另一种方法getAverage,然后在课程课堂上为每个学生调用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

}

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

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

这是不允许的:为什么不允许呢?发布您尝试过的代码,准确地告诉我们您期望它做什么,以及它做什么。如果有,请包括您得到的准确完整的错误。学生类中的
getAverage()
方法与已经存在的
average()
方法有何不同?1.“我有两个构造函数类”-没有构造函数类这样的东西。你这是什么意思?2.“学生班有考试分数”-即使总是只有3分,将他们命名为
test1
test2
test3
也是个坏主意。使用列表。3.“我的目标是取得平均分数”——现在的分数是多少?在此之前,这里没有分数,只有分数。你是否可以互换使用分数和分数?坚持使用一个术语。我添加了我在原始帖子中尝试过的代码@我从课程类中的学生类和驱动程序类中的课程类创建对象。2.我根据分数编辑了分数,所以没有混淆。我很抱歉犯了新的错误,仍然在学习java。我认为getAverage()方法将返回avg值,而无需再次计算,这与average方法不同。这一行是错误的:您需要读取错误。这意味着什么。要在Java中调用方法,需要括号:
studentAvg.getAverage()
。但要对局部变量(如
studentAvg
)调用方法,必须初始化该变量。你真的需要退后一步。阅读Java的基本语法;2.想想平均值是什么,以及它是如何计算的。平均值是一个总和除以一个大小。所以你需要把每个学生的平均数加起来。所以你需要对学生进行循环。就这样,没有任何解释为什么它有效,它的作用是什么?事实上,它非常有用。非常感谢。
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();
}