学生信息管理系统设计 ```java package me.feihong.model; public class Subject { // 成员属性:学科名称、学科编号、学制年限、报名选修的学生个数 private String subjectName; private String subjectNo; private int subjectLife; private Student[] myStudents; private int studentNum; // 无参构造方法 public Subject() { } // 带参构造,实现对学科名称、编号、学制年限赋值 public Subject(String subjectName, String subjectNo, int subjectLife) { this.setSubjectName(subjectName); this.setSubjectNo(subjectNo); this.setSubjectLife(subjectLife); } public Subject(String subjectName, String subjectNo, int subjectLife,Student[] myStudents) { this.setSubjectName(subjectName); this.setSubjectNo(subjectNo); this.setSubjectLife(subjectLife); this.setMyStudents(myStudents); } public void setSubjectName(String subjectName) { this.subjectName = subjectName; } public String getSubjectName() { return this.subjectName; } public void setSubjectNo(String subjectNo) { this.subjectNo = subjectNo; } public String getSubjectNo() { return this.subjectNo; } // 设置学制年限,限制必须>0 public void setSubjectLife(int subjectLife) { if (subjectLife <= 0) return; this.subjectLife = subjectLife; } /** * 获取选修专业的学生信息,如果保存学生信息的数组未被初始化,则先进行初始化 * @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 int getSubjectLife() { return this.subjectLife; } /** * 专业介绍的方法 * @return专业介绍相关信息,包括名称、编号、年限 */ public String info() { String str = "专业信息如下: \n专业名称:" + this.getSubjectName() + "\n专业编号:" + this.getSubjectNo() + "\n学制年限:" + this.getSubjectLife() + "年"; return str; } public void addStudent(Student stu) { /** * 1、将学生保存到数组中 * 2、将学生个数保存到studentNum */ //1、将学生保存到数组中 int i; for(i=0;i 100) this.studentAge = 18; else this.studentAge = studentAge; } /** * 学生自我介绍的方法 * * @return 自我介绍的信息,包括姓名,学号,性别,年龄 */ public String introduction() { String str = "学生信息如下:\n姓名" + this.getStudentName() + "\n学号:" + this.getStudentNo() + "\n性别:" + this.getStudentSex() + "\n年龄" + this.getStudentAge() + "\n所报专业名称:" + this.getStudentSubject().getSubjectName() + "\n学制年限:" + this.getStudentSubject().getSubjectLife() + "\n专业编号:" + this.getStudentSubject().getSubjectNo(); return str; } /** * 学生自我介绍的方法 * * @param subjectName * @param subjectLife * @return 自我介绍的信息,包括姓名,学号,性别,年龄,所学专业名称,学制年限 */ public String introduction(String subjectName, int subjectLife) { String str = "学生信息如下:\n姓名" + this.getStudentName() + "\n学号:" + this.getStudentNo() + "\n性别:" + this.getStudentSex() + "\n年龄" + this.getStudentAge() + "\n所报专业名称:" + subjectName + "\n学制年限:" + subjectLife; return str; } /** * 学生自我介绍的方法 * * @param mySubject 所选专业的对象 * @return 自我介绍的信息,包括姓名,学号,性别,年龄,所学专业名称,学制年限,专业编号 */ public String introduction(Subject mySubject) { String str = "学生信息如下:\n姓名" + this.getStudentName() + "\n学号:" + this.getStudentNo() + "\n性别:" + this.getStudentSex() + "\n年龄" + this.getStudentAge() + "\n所报专业名称:" + mySubject.getSubjectName() + "\n学制年限:" + mySubject.getSubjectLife() + "\n专业编号:" + mySubject.getSubjectNo(); return str; } } ``` ```java package me.feihong.test; import me.feihong.model.*; public class SchoolTest { public static void main(String[] args) { // TODO Auto-generated method stub //测试Subject Subject sub1=new Subject("计算机科学与应用","j0001",4); System.out.println(sub1.info()); System.out.println("============================"); //测试Student Student stu1=new Student("S01","张三","男",18,sub1); System.out.println(stu1.introduction()); System.out.println("============================"); Student stu2=new Student("S02","李四","女",17); System.out.println(stu2.introduction("计算机科学与应用", 4)); System.out.println("============================"); Student stu3=new Student("S03","王五","男",18); System.out.println(stu3.introduction(sub1)); System.out.println("============================"); //测试指定专业中到底有多少学生报名 sub1.addStudent(stu1); sub1.addStudent(stu2); sub1.addStudent(stu3); System.out.println(sub1.getSubjectName()+"的专业中已有"+sub1.getStudentNum()+"学生进行了报名"); } } ``` Loading... 学生信息管理系统设计 ```java package me.feihong.model; public class Subject { // 成员属性:学科名称、学科编号、学制年限、报名选修的学生个数 private String subjectName; private String subjectNo; private int subjectLife; private Student[] myStudents; private int studentNum; // 无参构造方法 public Subject() { } // 带参构造,实现对学科名称、编号、学制年限赋值 public Subject(String subjectName, String subjectNo, int subjectLife) { this.setSubjectName(subjectName); this.setSubjectNo(subjectNo); this.setSubjectLife(subjectLife); } public Subject(String subjectName, String subjectNo, int subjectLife,Student[] myStudents) { this.setSubjectName(subjectName); this.setSubjectNo(subjectNo); this.setSubjectLife(subjectLife); this.setMyStudents(myStudents); } public void setSubjectName(String subjectName) { this.subjectName = subjectName; } public String getSubjectName() { return this.subjectName; } public void setSubjectNo(String subjectNo) { this.subjectNo = subjectNo; } public String getSubjectNo() { return this.subjectNo; } // 设置学制年限,限制必须>0 public void setSubjectLife(int subjectLife) { if (subjectLife <= 0) return; this.subjectLife = subjectLife; } /** * 获取选修专业的学生信息,如果保存学生信息的数组未被初始化,则先进行初始化 * @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 int getSubjectLife() { return this.subjectLife; } /** * 专业介绍的方法 * @return专业介绍相关信息,包括名称、编号、年限 */ public String info() { String str = "专业信息如下: \n专业名称:" + this.getSubjectName() + "\n专业编号:" + this.getSubjectNo() + "\n学制年限:" + this.getSubjectLife() + "年"; return str; } public void addStudent(Student stu) { /** * 1、将学生保存到数组中 * 2、将学生个数保存到studentNum */ //1、将学生保存到数组中 int i; for(i=0;i<this.getMyStudents().length;i++) { if(this.getMyStudents()[i]==null) { stu.setStudentSubject(this); this.getMyStudents()[i]=stu; break; } } //2、将学生个数保存到studentNum this.studentNum=i+1; } } ``` ```java package me.feihong.model; public class Student { // 成员属性:姓名,学号,性别,年龄,专业 private String studentNo; private String studentName; private String studentSex; private int studentAge; private Subject studentSubject; // 无参构造方法 public Student() { } // 多参构造方法,实现对姓名 学号 性别 年龄的赋值 public Student(String studentNo, String studentName, String studentSex, int studentAge) { this.setStudentNo(studentNo); this.setStudentName(studentName); this.setStudentSex(studentSex); this.setStudentAge(studentAge); } // 多参构造方法,实现对全部属性的赋值 public Student(String studentNo, String studentName, String studentSex, int studentAge, Subject studentSubject) { this.setStudentNo(studentNo); this.setStudentName(studentName); this.setStudentSex(studentSex); this.setStudentAge(studentAge); this.setStudentSubject(studentSubject); } /** * 获取专业对象,如果没有实例化,先实例化后再返回 * * @return 专业对象信息 */ public Subject getStudentSubject() { if (this.studentSubject == null) this.studentSubject = new Subject(); return studentSubject; } public void setStudentSubject(Subject studentSubject) { this.studentSubject = studentSubject; } public String getStudentNo() { return studentNo; } public void setStudentNo(String studentNo) { this.studentNo = studentNo; } public String getStudentName() { return studentName; } public void setStudentName(String studentName) { this.studentName = studentName; } public String getStudentSex() { return studentSex; } /** * 限制性别只能是“男”或者“女”,反之,强制赋值为“男” * * @param studentSex */ public void setStudentSex(String studentSex) { if (studentSex == "男" || studentSex == "女") this.studentSex = studentSex; else this.studentSex = "男"; } public int getStudentAge() { return studentAge; } /** * 给年龄赋值,限定必须在10-100之间,反之赋值为18 * * @param studentAge */ public void setStudentAge(int studentAge) { if (studentAge < 10 || studentAge > 100) this.studentAge = 18; else this.studentAge = studentAge; } /** * 学生自我介绍的方法 * * @return 自我介绍的信息,包括姓名,学号,性别,年龄 */ public String introduction() { String str = "学生信息如下:\n姓名" + this.getStudentName() + "\n学号:" + this.getStudentNo() + "\n性别:" + this.getStudentSex() + "\n年龄" + this.getStudentAge() + "\n所报专业名称:" + this.getStudentSubject().getSubjectName() + "\n学制年限:" + this.getStudentSubject().getSubjectLife() + "\n专业编号:" + this.getStudentSubject().getSubjectNo(); return str; } /** * 学生自我介绍的方法 * * @param subjectName * @param subjectLife * @return 自我介绍的信息,包括姓名,学号,性别,年龄,所学专业名称,学制年限 */ public String introduction(String subjectName, int subjectLife) { String str = "学生信息如下:\n姓名" + this.getStudentName() + "\n学号:" + this.getStudentNo() + "\n性别:" + this.getStudentSex() + "\n年龄" + this.getStudentAge() + "\n所报专业名称:" + subjectName + "\n学制年限:" + subjectLife; return str; } /** * 学生自我介绍的方法 * * @param mySubject 所选专业的对象 * @return 自我介绍的信息,包括姓名,学号,性别,年龄,所学专业名称,学制年限,专业编号 */ public String introduction(Subject mySubject) { String str = "学生信息如下:\n姓名" + this.getStudentName() + "\n学号:" + this.getStudentNo() + "\n性别:" + this.getStudentSex() + "\n年龄" + this.getStudentAge() + "\n所报专业名称:" + mySubject.getSubjectName() + "\n学制年限:" + mySubject.getSubjectLife() + "\n专业编号:" + mySubject.getSubjectNo(); return str; } } ``` ```java package me.feihong.test; import me.feihong.model.*; public class SchoolTest { public static void main(String[] args) { // TODO Auto-generated method stub //测试Subject Subject sub1=new Subject("计算机科学与应用","j0001",4); System.out.println(sub1.info()); System.out.println("============================"); //测试Student Student stu1=new Student("S01","张三","男",18,sub1); System.out.println(stu1.introduction()); System.out.println("============================"); Student stu2=new Student("S02","李四","女",17); System.out.println(stu2.introduction("计算机科学与应用", 4)); System.out.println("============================"); Student stu3=new Student("S03","王五","男",18); System.out.println(stu3.introduction(sub1)); System.out.println("============================"); //测试指定专业中到底有多少学生报名 sub1.addStudent(stu1); sub1.addStudent(stu2); sub1.addStudent(stu3); System.out.println(sub1.getSubjectName()+"的专业中已有"+sub1.getStudentNum()+"学生进行了报名"); } } ``` 最后修改:2019 年 12 月 31 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏