我必须对象。 学生和课程(两者都有这个静态等于方法) 我也有我的教授写的司机,我被告知不要碰。 我的目标是制作两个由学生组成的课程列表,以及学生正在学习的当前课程。公共静态布尔等于方法
我的教授给了我所有的方法,我应该填写尸体。
我重复检查,等于方法复制完全按照他希望的那样。
这是一个家庭作业问题。
我需要填写这个等于方法的正文。 我已经试过的东西一样,如果(this.id == other.getID()),但我不断收到此错误: 错误:非静态变量ID不能从静态上下文中引用
我已经尝试使用this.getID()代替,但无济于事。我认为这可能与这是静态的有关。 (我不允许改变这种情况。)
写这篇文章的正确方法是什么?我不打算在下面的代码中包含所有的getter和setter。
public class Student {
private String id;
private String firstName;
private String lastName;
private String major;
private String minor;
private ArrayList<Course> coursesTaken;
private ArrayList<Course> currentSemesterCourses;
private double gpa;
/**
Course constructor
*/
public Student(String id, String firstName, String lastName, String major, String minor, ArrayList<Course> coursesTaken, ArrayList<Course> currentSemesterCourses) {
/*Your code goes here */
this.id = id;
this.firstName = firstName;
this.lastName = lastName;
this.major = major;
this.minor = minor;
this.coursesTaken = coursesTaken;
this.currentSemesterCourses = currentSemesterCourses;
}
public static boolean Equals(Object obj) {
//Your code goes here
//base it on id firstName, lastName, major, minor and gpa
}
编写外部类并提供比较机制。 – mlewandowski
有没有机会让这种方法失效?这不在我的指导之中,但我依稀记得我们在讲课中排除一些方法。 – Josh
你需要和你的助教交谈。 equals方法不是静态的,它们也不是“Equals”。如果有人想让你做一个静态的比较方法,那就需要像'public static boolean Equals(Student student2,Student student1)' – bmargulies