接着之前的代码继续编写……
在Subject类中添加学生信息数组,报名学生人数
private Student[] myStudents;
private int studentNum;
//带参构造,实现对学科名称、学科编号、学制年限、报名选修的学生信息的赋值
public Subject(String subjectName, String subjectNo, int subjectLife, Student[] myStudents){
this.setsubjectName(subjectName);
this.setsubjectNo(subjectNo);
this.setsubjectLife(subjectLife);
this.setMyStudents(myStudents);
}
/**
* 获取选修专业的学生信息,如果保存学生信息的数组未被初始化,则先初始化长度200
* @return 保存学生信息的数组
*/
public Student[] getMyStudents() {
if(this.myStudents == null)
this.myStudents = new Student[200];
return myStudents;
}
public void setMyStudents(Student[] myStudents) {
this.myStudents = myStudents;
}
public int getStudentNum() {
return studentNum;
}
public void setStudentNum(int studentNum) {
this.studentNum = studentNum;
}
创建添加学生方法:
public void addStudent(Student stu){
/**
* 1、将学生信息保存到数组中
* 2、将学生个数保存到studentNum
*/
//1、将学生保存到数组中
for(int i=0; i<this.getMyStudents().length; i++){
if(this.getMyStudents()[i] == null){
this.getMyStudents()[i] = stu;
//2、将学生个数保存到studentNum
this.studentNum = i + 1;
return;
}
}
}
在SchoolTest类中进行测试:
//测试指定专业中有多少名学生报名了
sub1.addStudent(stu1);
sub1.addStudent(stu2);
sub1.addStudent(stu3);
System.out.println(sub1.getsubjectName()+"专业中已有"+sub1.getStudentNum()+"名学生报名了");
输出:
计算机科学与应用专业中已有3名学生报名了