我們今天來做一個學生選課程序:
首先思考,要做選課系統,首先我們需要有學生類,課程類,還有一個選課測試類;
在深入思考:
學生類需要有學生的一些屬性(學號,姓名,課程表),課程表是用一個集合來實現的(假設我們并不知道學生要選多少課程,需要動態數組,就用到了集合);
課程類需要有課程的一些屬性(課程號,課程名,選這門課的學生表),學生表是用一個集合來實現的(假設我們并不知道這門課程要有多少學生來選擇,所以需要動態數組,就用到了集合);
測試類很簡單,實例化幾個學生,幾門課程,然后相互添加,最后在打印出來就行了。
下面附代碼:
學生類:
public class Student {
private int id;
private String name;
private List<Course> courseList;
public Student(int id,String name){
this.setId(id);
this.setName(name);
this.setCourseList(new ArrayList<Course>());
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<Course> getCourseList() {
return courseList;
}
public void setCourseList(List<Course> courseList) {
this.courseList = courseList;
}
public void addCourse(Course c){
this.courseList.add(c);
}
public void removeCourse(Course c){
this.courseList.remove(c);
}
}
課程類:
public class Course {
private int number;
private String name;
private float grade;
private List<Student> studentList;
public Course(int number,String name,float grade){
this.setNumber(number);
this.setName(name);
this.setGrade(grade);
this.setStudentList(new ArrayList<Student>());
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public float getGrade() {
return grade;
}
public void setGrade(float grade) {
this.grade = grade;
}
public List<Student> getStudentList() {
return studentList;
}
public void setStudentList(List<Student> studentList) {
this.studentList = studentList;
}
public void addStudent(Student s){
this.studentList.add(s);
}
public void removeStudent(Student s){
this.studentList.remove(s);
}

}
選課測試類:
public class Select {
public static void main(String[] args){
Student s1 = new Student(001,"張三");
Student s2 = new Student(002,"李四");
Student s3 = new Student(003,"王五");
Student s4 = new Student(004,"趙六");
Course c1 = new Course(1,"java班",3.5f);
Course c2 = new Course(2,".net班",4.0f);
Course c3 = new Course(3,"數據庫班",5.0f);
Course c4 = new Course(4,"美工班",2.5f);
s1.addCourse(c1);
c1.addStudent(s1);
s1.addCourse(c2);
c2.addStudent(s1);
s2.addCourse(c2);
c2.addStudent(s2);
s2.addCourse(c3);
c3.addStudent(s2);
s2.addCourse(c4);
c4.addStudent(s2);
s3.addCourse(c3);
c3.addStudent(s3);
s3.addCourse(c4);
c4.addStudent(s3);
s4.addCourse(c4);
c4.addStudent(s4);
s4.addCourse(c1);
c1.addStudent(s4);
//隨便選一個學生和一門課程列表
System.out.println("學生姓名:"+s2.getName());
Iterator<Course> courselist = s2.getCourseList().iterator();
while(courselist.hasNext()){
Course c = courselist.next();
System.out.println("選中了"+c.getName()+" 學分為"+c.getGrade());
}
System.out.println("---------------------------");
System.out.println("課程名稱:"+c3.getName());
Iterator<Student> studentlist = c3.getStudentList().iterator();
while(studentlist.hasNext()){
Student s = studentlist.next();
System.out.println("擁有"+s.getId()+"號學生 學生姓名是"+s.getName());
}
}

}
下面看一下運行結果:
首先思考,要做選課系統,首先我們需要有學生類,課程類,還有一個選課測試類;
在深入思考:
學生類需要有學生的一些屬性(學號,姓名,課程表),課程表是用一個集合來實現的(假設我們并不知道學生要選多少課程,需要動態數組,就用到了集合);
課程類需要有課程的一些屬性(課程號,課程名,選這門課的學生表),學生表是用一個集合來實現的(假設我們并不知道這門課程要有多少學生來選擇,所以需要動態數組,就用到了集合);
測試類很簡單,實例化幾個學生,幾門課程,然后相互添加,最后在打印出來就行了。
下面附代碼:
學生類:




































課程類:













































選課測試類:
























































下面看一下運行結果:
