JAVA面向对象基础(学生管理系统)

简单学生管理系统

用于稳固面向对象基础 实现绑定和添加功能

两个实体类,一个测试类

package com.zjx.model;

/**
 * 学生类
 * 
 * @author zjx
 *
 */
public class Student {
	private String studentNo; // 学号
	private String studentName;// 姓名
	private String studentSex;// 性别
	private int studentAge;// 年龄
	// 方案3 将专业作为成员属性
	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);

	}

	public void setStudentSubject(Subject studentSubject) {
		this.studentSubject = studentSubject;
	}

	// 获取专业对象,如果没有实例化,先实例化再返回
	public Subject getStudentSubject() {
		if (this.studentSubject == null)
			this.studentSubject = new Subject();
		return 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;
	}

	public void setStudentSex(String studentSex) {
		if (!studentSex.equals("男") || !studentSex.equals("女")) {
			this.studentSex = "男";
		} else {
			this.studentSex = studentSex;
		}
	}

	public int getStudentAge() {
		return studentAge;
	}

	public void setStudentAge(int studentAge) {
		if (studentAge <= 10 || studentAge >= 100)
			this.studentAge = 18;
		else
			this.studentAge = studentAge;
	}

	/**
	 * 方便打印 方案3
	 * 
	 * @return
	 */
	public String introduction() {
		return "studentNo=" + this.getStudentNo() + "\nstudentName=" + this.getStudentName() + "\nstudentSex="
				+ this.getStudentSex() + "\nsutdentAge=" + this.getStudentAge() + "\nsubjectName="
				+ this.getStudentSubject().getSubjectName() + "\nsubjectLife=" + this.getStudentSubject().getSubjectLife() + "\n";
	}

	/**
	 * 方便打印 与学科两个属性连接起来 方案1 重载
	 * 
	 * @return
	 */
	public String introduction(String subjectName, int subjectLife) {
		return "studentNo=" + this.getStudentNo() + "\nstudentName=" + this.getStudentName() + "\nstudentSex="
				+ this.getStudentSex() + "\nsutdentAge=" + this.getStudentAge() + "\nsubjectName=" + subjectName
				+ "\nsubjectLife=" + subjectLife + "\n";
	}

	/**
	 * 方便打印 与学科对象连接起来 方案2 重载
	 * 
	 * @return
	 */
	public String introduction(Subject msubject) {
		return "studentNo=" + this.getStudentNo() + "\nstudentName=" + this.getStudentName() + "\nstudentSex="
				+ this.getStudentSex() + "\nsutdentAge=" + this.getStudentAge() + "\nsubjectName="
				+ msubject.getSubjectName() + "\nsubjectLife=" + msubject.getSubjectLife() + "\n";
	}
}

package com.zjx.model;

/**
 * 学科类
 * 
 * @author zjx
 *
 */
public class Subject {
	private String subjectName;// 学科姓名
	private String subjectNo;// 学科编号
	private int subjectLife;// 学制年限
	private Student[] myStudents;
	
	public static int studnetNum;//报名选修的学生个数
	
	// 无参构造
	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 Student[] getMyStudents() {
		if (this.myStudents == null)
			this.myStudents = new Student[200];
		return myStudents;
	}

	public void setMyStudents(Student[] myStudents) {
		this.myStudents = myStudents;
	}

	public String getSubjectName() {
		return subjectName;
	}

	public void setSubjectName(String subjectName) {
		this.subjectName = subjectName;
	}

	public String getSubjectNo() {
		return subjectNo;
	}

	public void setSubjectNo(String subjectNo) {
		this.subjectNo = subjectNo;
	}

	public int getSubjectLife() {
		return subjectLife;
	}

	public void setSubjectLife(int subjectLife) {
		if (subjectLife <= 0)
			return;
		this.subjectLife = subjectLife;
	}

	/**
	 * 方便信息的打印
	 * 
	 * @return
	 */
	public String getInfo() {
		return "subjectName=" + this.getSubjectName() + "\nsubjectNo=" + this.getSubjectNo() + "\nsubjectLife="
				+ this.getSubjectLife() + "\n";
	}
	
	/**
	 * 添加学生的方法
	 * @param stu
	 */
	public void addStudent(Student stu){
		for(int i = 0; i < this.getMyStudents().length; i++){
			if(this.getMyStudents()[i] == null){
				this.getMyStudents()[i] = stu;
				studnetNum++;//记录学生个数
				return;
			}
		}
	}

}

package com.zjx.test;

import com.zjx.model.Student;
import com.zjx.model.Subject;

public class SchoolTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Subject subject = new Subject("计算机科学与应用","10012",3);
		Student student = new Student("S01","张三","男",18,subject);
		Student student2 = new Student("S02","李四","男",19,subject);
		Student student3 = new Student("S03","王五","男",20,subject);
		subject.addStudent(student);
		subject.addStudent(student2);
		subject.addStudent(student3);
		System.out.println(subject.studnetNum);
		for(int i = 0; i < subject.studnetNum; i++){
			System.out.println(subject.getMyStudents()[i].introduction());
			System.out.println("----------------------------------------");
		}
	}

}

发布了18 篇原创文章 · 获赞 2 · 访问量 1480

猜你喜欢

转载自blog.csdn.net/AppWhite_Star/article/details/104526472