学生选课,存代码自用

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;  
        }  
        }  
    }  
}
//需求分析:写一个较为严谨的学生选课系统,实现学生可以选择多门选课课程,并将有效选课结果保到数据库。学生需要登录后,才能选课。让学生可以在选课系统通过多种方式查询到要选的课程信息。 //选课规则:1、每个学生可以选多门课程,多次选课的总学分不能超过6学分;2、不能重复选择一门课程;3、每一门课程的选课人数都有数量限制,当某门课程的选课名额满时,则应另选课程。4、凭用户名和密码登录,通过提交某一课程号来选课 //总体设计方案:建立三个类:登录类register,选课类studentChooseCourse,数据库工具类JDBCUtil;一个SQL脚本文件用于生成数据库表结构和初始记录,以搭建数据库环境。 登录类register类,负责对用户的身份进行验证;工具类JDBCUtil用于实现连接,你可调用JDBCUtil的getConnection()方法等到链接。 选课类studentChooseCourse用于,实现选课功能。其中包括几个主要方法: 1、actionPerformed(ActionEvent) 用于监听用户“查询”和“提交”操作,并负责调用各种方法对其进行处理 2、createSearchCourse()用于产生图形用户界面 3、processBeforeCommit()用于对用户的“提交”查找进行验证,剔除无效的用户操作 4、tryCommit()负责对有效的“提交”操作,进一步处理,并将有效的操作结果时时保到数据库,并更新数据库原有信息 //本程序用到的知识点:数据库连接JDBC;SQL建表、插入输入、动态查询;图形用户界面的产生以及处理查询结果集并较好显示;程序设计基础知识。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值