我对Java和编程几乎全新(我的主要学位是Law,但我希望能够打开自己的编程,因为我真的相信它会成为一个几年的基本技能)。
我创建了两个班级LabClass
和Student
,重点是让学生注册课程,同时为他们提供注册学分。
以下是我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"。我是一个真正的初学者,所以我很抱歉,如果这是一个愚蠢的问题,但任何帮助将不胜感激!
答案 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);
}
}