无法引用另一个类中的方法

时间:2017-10-28 23:13:29

标签: java methods

我对Java和编程几乎全新(我的主要学位是Law,但我希望能够打开自己的编程,因为我真的相信它会成为一个几年的基本技能)。

我创建了两个班级LabClassStudent,重点是让学生注册课程,同时为他们提供注册学分。

以下是我Student课程中我尝试访问的方法:

public void addCredits(int additionalPoints)
{
    credits += additionalPoints;
}

以下是我LabClass课程中我尝试使用的方法:

public void enrollStudent(Student newStudent)
{
    if(students.size() == capacity) {
        System.out.println("The class is full, you cannot enrol.");
    }
    else {
        students.add(newStudent);
    }
    students.addCredits(50);
}

我不明白为什么BlueJ说找不到方法" addCredits"。我是一个真正的初学者,所以我很抱歉,如果这是一个愚蠢的问题,但任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:4)

学生是ArrayList或其他东西......不是学生。我想也许你想说newStudent.addCredits(50);

答案 1 :(得分:4)

您永远不会显示变量students是什么。然而,它似乎是Student的数组。您在addCredits数组上调用了Students,而不是在变量newStudent上,这是我想要做的。这样做的正确方法是:

public void enrollStudent(Student newStudent)
{
    if(students.size() == capacity) {
        System.out.println("The class is full, you cannot enrol.");
    }
    else {
        newStudent.addCredits(50);
        students.add(newStudent);
    }

}