我們今天來(lái)做一個(gè)學(xué)生選課程序:
首先思考,要做選課系統(tǒng),首先我們需要有學(xué)生類,課程類,還有一個(gè)選課測(cè)試類;
在深入思考:
        學(xué)生類需要有學(xué)生的一些屬性(學(xué)號(hào),姓名,課程表),課程表是用一個(gè)集合來(lái)實(shí)現(xiàn)的(假設(shè)我們并不知道學(xué)生要選多少課程,需要?jiǎng)討B(tài)數(shù)組,就用到了集合);
        課程類需要有課程的一些屬性(課程號(hào),課程名,選這門課的學(xué)生表),學(xué)生表是用一個(gè)集合來(lái)實(shí)現(xiàn)的(假設(shè)我們并不知道這門課程要有多少學(xué)生來(lái)選擇,所以需要?jiǎng)討B(tài)數(shù)組,就用到了集合);
         測(cè)試類很簡(jiǎn)單,實(shí)例化幾個(gè)學(xué)生,幾門課程,然后相互添加,最后在打印出來(lái)就行了。

下面附代碼:
學(xué)生類:
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);
    }


}


選課測(cè)試類:
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,"數(shù)據(jù)庫(kù)班",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);
        
        
//隨便選一個(gè)學(xué)生和一門課程列表
        System.out.println("學(xué)生姓名:"+s2.getName());
        Iterator
<Course> courselist = s2.getCourseList().iterator();
        
while(courselist.hasNext()){
            Course c 
= courselist.next();
            System.out.println(
"選中了"+c.getName()+"  學(xué)分為"+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()+"號(hào)學(xué)生    學(xué)生姓名是"+s.getName());
        }

    }


}


下面看一下運(yùn)行結(jié)果: