1. 程式人生 > >學生選課,存程式碼自用

學生選課,存程式碼自用

Student.java

import java.util.HashSet;  
import java.util.Set;  

public class Student{  
    public String id;   
    public String name;  
    public String age;  
    public Set<Course> course;  
    public Student(String id,String name) {  
        this.id=id;  
        this.name=name;  
        course=new
HashSet<Course>(); } public String getAge() { return age; } public void setAge(String age) { this.age = age; } public void ForEach() { System.out.println("已選課程:"); for(Object obj:course) { Course cr=(Course) obj; System.out
.println("課程 "+cr.id+":"+cr.name); } } }

Course.java

public class Course {  
    public String id;  
    public String name;  
    public Course(String id,String name) {  
        this.id=id;  
        this.name=name;  
    }  
}

StudentList.java

import java.util.HashMap;  
import java.util.Map;  
import java.util.Scanner;  

public
class StudentList { public Map <String, Student> students=new HashMap <String ,Student>() ; Scanner input=new Scanner(System.in); public void addStudent(int n) { while(n>0) { System.out.println("請輸入學生ID"); String id=input.nextLine(); Student st=students.get(id); if(st==null) { System.out.println("請輸入學生姓名"); String name=input.nextLine(); Student stu1=new Student(id,name); students.put(id, stu1); System.out.println("成功新增學生:"+stu1.name); }else { System.out.println("該學生已存在"); } n--; } } public void ShowStudent(){ System.out.println("已存在學生:"); for(String key:students.keySet()) { Student temp=students.get(key); System.out.println(temp.id+": "+temp.name); } } }

CourseList.java

import java.util.ArrayList;  
import java.util.List;  
import java.util.Scanner;  

public class CourseList {  
        public List<Course> courses;  
        public CourseList() {  
            courses=new ArrayList<Course>();  
        }  
        public void AddCourse(int n) {  
            for(int i=1;i<=n;i++) {  
                @SuppressWarnings("resource")  
                Scanner input=new Scanner(System.in);  
                System.out.println("請輸入課程ID");  
                String id=input.nextLine();  
                System.out.println("請輸入課程名字");  
                String name=input.nextLine();  
                Course add=new Course(id,name);  
                courses.add(add);  
                System.out.println("成功新增課程:"+name);  
            }  
        }  
        public void ShowCourse(){  
            int size=courses.size();   
            System.out.println("已存在課程:");  
            for(int i=0;i<size;i++) {  
                Course temp=(Course)courses.get(i);  
                System.out.println(temp.id+": "+temp.name);  
            }  
        }         
}

StuTest.java

import java.util.Scanner;  

public class StuTest {  
    CourseList C=new CourseList();  
    StudentList S=new StudentList();  
    static Scanner input=new Scanner(System.in);  
    public void addCourse() {  
        System.out.println("請輸入需要新增課程的數量");  
        int n=input.nextInt();  
        C.AddCourse(n);  
        C.ShowCourse();  
    }  
    public void addStudent() {  
        System.out.println("請輸入需要新增學生的數量");  
        int n=input.nextInt();  
        S.addStudent(n);  
        S.ShowStudent();  
    }  
    public void ChooseCourse() {  
        System.out.println("請輸入學生ID");  
        String id=input.next();  
        Student st=(Student)S.students.get(id);  
        if(st==null){  
            System.out.println("此學生不存在");  
        }else {  
            C.ShowCourse();  
            System.out.println("請輸入課程ID");  
            int ID=input.nextInt();  
            Course add=(Course)C.courses.get(ID-1);  
            st.course.add(add);  
            System.out.println("成功新增課程"+add.id+":"+add.name);     
            }  
        }  
    public void Menu() {  
        System.out.println("===================================");  
        System.out.println("||          1.錄入學生資訊                 ||");  
        System.out.println("||          2.錄入課程資訊                 ||");  
        System.out.println("||          3.學生選課系統                 ||");  
        System.out.println("||          0.退出                              ||");  
        System.out.println("===================================");  
    }  
    public static void main(String[] args) {  
        StuTest P=new StuTest();              
        while(1<2) {  
        P.Menu();     
        int n=input.nextInt();  
        if(n==0) {break;}  
        switch (n) {  
        case 1:P.addStudent();break;  
        case 2:P.addCourse();break;  
        case 3:P.ChooseCourse();break;  
        case 0:n=0;break;  
        default: break;  
        }  
        }  
    }  
}