Java 添加和删除元素
我应该让教授当一门课的老师。上述方法的评论也说明了目标。然而,我不知道如何去做这件事。我是java编程新手,所以我决定通过做一个“instanceof”比较来检查教授是否在这门课上。我是朝着正确的方向前进还是错过了什么?谢谢大家!Java 添加和删除元素,java,Java,我应该让教授当一门课的老师。上述方法的评论也说明了目标。然而,我不知道如何去做这件事。我是java编程新手,所以我决定通过做一个“instanceof”比较来检查教授是否在这门课上。我是朝着正确的方向前进还是错过了什么?谢谢大家! 在接近结尾时,我添加了我刚刚遇到的另外两种方法,我认为我错误地实现了getStudents。最后两种方法要求添加学生和删除学生。我不确定学生的键值对是什么 公共课实施可比性{ /** * course id (unique) */ private int id;
- 在接近结尾时,我添加了我刚刚遇到的另外两种方法,我认为我错误地实现了getStudents。最后两种方法要求添加学生和删除学生。我不确定学生的键值对是什么
公共课实施可比性{
/** * course id (unique) */ private int id; /** * course name */ private String name; /** * course level */ private int level; /** * professor teaching the course, null if none */ private String professor; /** * students enrolled in the course (unique), empty if none */ private HashSet<String> students; /** * Create a course. Initially there is no professor or student for the * course. * * @param id course id * @param name course name * @param level course level */ public Course(int id, String name, int level) { this.id = id; this.name = name; this.level = level; this.professor = null; this.students = new HashSet<>(); } /** * Get the course id. * * @return course id */ public int getId() { return id; } /** * Get the course name. * * @return course name */ public String getName() { return name; } /** * Get the course level. * * @return course level */ public int getLevel() { return level; } /** * Get the professor teaching the course. * * @return the professor, if none, null */ public String getProfessor() { return professor; } /** * Get the students enrolled in the course. * * @return the students, organized by ascending hash codes. if there are no * students enrolled the list should be empty. */ public Collection<String> getStudents() { return students; } /** * Make a professor the instructor of this course. If another professor was * teaching it, that information is lost. * * @param username the username of the professor */ public void addProfessor(String username) { }
} /**/** *课程id(唯一) */ 私有int-id; /** *课程名称 */ 私有字符串名称; /** *课程水平 */ 私有整数级; /** *教授教授该课程,如果没有,则为空 */ 私人弦乐教授; /** *注册课程的学生(唯一),如果没有,则为空 */ 私立学校学生; /** *创建一门课程。最初,课程没有教授或学生 *当然。 * *@param id课程id *@param name课程名称 *@param-level课程级别 */ 公共课程(整数id、字符串名称、整数级别){ this.id=id; this.name=名称; 这个水平=水平; this.professor=null; this.students=newhashset(); } /** *获取课程id。 * *@return-course-id */ 公共int getId(){ 返回id; } /** *获取课程名称。 * *@返回课程名称 */ 公共字符串getName(){ 返回名称; } /** *达到课程水平。 * *@返程等级 */ public int getLevel(){ 回报水平; } /** *让教授教这门课。 * *@返回教授,如果没有,则为空 */ 公共字符串getProfessor(){ 返回教授; } /** *让学生报名参加这门课程。 * *@返回学生,按升序散列码组织,如果没有 *已注册的学生列表应为空。 */ 公众募捐(学生){ 留学生; } /** *让一位教授担任本课程的讲师。如果另一位教授 *如果教它,信息就会丢失。 * *@param username教授的用户名 */ public void addProfessor(字符串用户名){ }
- 在课程中添加一名学生,如果他们未注册
- 在固定时间内。 *
- @param username学生的用户名
- @返回是否添加了该学生 */ 公共布尔addStudent(字符串用户名){ //待办事项 返回false; }
- 如果学生已注册,则将其从课程中删除
- 在固定时间内。 *
- @param username要删除的学生的用户名
- @如果学生被删除,则返回true;如果学生不在课程中,则返回false */ 公共布尔removeStudent(字符串用户名){ //待办事项 返回false; }
professor
上调用getter来检查它是否已设置
public void addProfessor(String professor) {
if(this.getProfessor() == null || this.getProfessor().isEmpty()) {
this.setProfessor(professor);
}
}
您可以在
professor
上调用getter来检查它是否已设置
public void addProfessor(String professor) {
if(this.getProfessor() == null || this.getProfessor().isEmpty()) {
this.setProfessor(professor);
}
}
只要实现这个方法-
public void addProfessor(String username) {
/*
This assignment will replace any other professor
who are teaching of this course.
If you assign the class variable **professor**,
when you call getProfessor(), that will return
username this professor.
*/
this.professor = username;
}
只要实现这个方法-
public void addProfessor(String username) {
/*
This assignment will replace any other professor
who are teaching of this course.
If you assign the class variable **professor**,
when you call getProfessor(), that will return
username this professor.
*/
this.professor = username;
}
您可以使用instanceof关键字检查对象在运行时是否属于特定类型。在本例中,注释表示,如果先前设置了值,则该值将丢失。这意味着您可以简单地将给定值设置为professor,而无需进行任何检查
public void addProfessor(String userName) {
professor = userName;
}
您可以使用instanceof关键字检查对象在运行时是否属于特定类型。在本例中,注释表示,如果先前设置了值,则该值将丢失。这意味着您可以简单地将给定值设置为professor,而无需进行任何检查
public void addProfessor(String userName) {
professor = userName;
}
“方法注释说明,以前是否将值设置为教授并不重要。@AaronDavis,是的。”。我认为这就是OP面临的问题。这就是为什么他将其作为对该方法的评论。似乎您添加了一个额外的参数并删除了该空白。是否有其他方法可以在不编辑原始方法的情况下实现此功能?不确定我的教授是否允许我们以任何方式修改它。@JanSolo,刚刚编辑了我的答案,使其与您现有的
addProessor
方法兼容。检查它。方法注释说明,以前是否将值设置为教授并不重要。@AaronDavis,是的。我认为这就是OP面临的问题。这就是为什么他将其作为对该方法的评论。似乎您添加了一个额外的参数并删除了该空白。是否有其他方法可以在不编辑原始方法的情况下实现此功能?不确定我的教授是否允许我们以任何方式修改它。@JanSolo,刚刚编辑了我的答案,使其与您现有的addProessor
方法兼容。请查看。addProfessor
方法的注释说,新教授将覆盖以前的教授,因此您是否确实必须检查教授是否已经在课程中?有关添加和删除学生方法的实现,请查看集合上的添加和删除方法。addProfessor
方法的注释说,新教授将覆盖以前的教授,因此您是否确实必须检查教授是否已经在课程中?有关添加和删除学生方法的实现,请查看集合上的添加和删除方法。如果有,这会默认删除以前的教授吗?是的,它只会覆盖以前的值不确定您是否看到了我刚才添加的部分,但您能解释一下Student如何成为哈希集吗?我不知道键值对是什么。@jansool上面的代码将students变量作为HashSet。集合没有键值对(这将是一个映射)。集合是无序(通常,除了少数特殊类型)的数据集合。它允许快速检查集合中是否包含元素。集合中的每个元素