精华内容
下载资源
问答
  • 使用ssm框架编写java系统
  • 实现JDBC连接数据库,要使用mysql ,要建数据库,根据bean来建表
  • JAVA | 学生选课系统

    2018-06-21 23:11:00
    这里使用JAVA语言编写的简易的学生选课系统,展现的都是这个系统核心代码。 其中有不足欢迎批评和指正! 链接数据库的代码 package connection;//连接数据库student import java.sql.Connection;import java....

    这里使用JAVA语言编写的简易的学生选课系统,展现的都是这个系统核心代码。

    其中有不足欢迎批评和指正!

     

    链接数据库的代码

    package connection;
    //连接数据库student

    import java.sql.Connection;
    import java.sql.DriverManager;
    //import java.sql.Statement;
    import java.sql.SQLException;

    public class xu{

    private static Connection conn = null;
    static {
    try {
    // 注册驱动
    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    // 获得一个数据库连接
    conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=student","sa","123456");
    }catch(ClassNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }

    public static Connection getConnection() {
    return conn;
    }
    }

     

     

    选课的操作代码

    package connection;

    import java.sql.*;
    import java.util.*;

    public class test1{

    private static String ID; // 此处的ID设为全局变量,在下面某些方法里会用到
    private static Scanner console = new Scanner(System.in);
    private static String managerPass = "123456";
    private static Connection conn = xu.getConnection();


    public static void main(String [] args) throws SQLException {

    System.out.println("Welcome to the student selection system!\n\n"
    +"if you are maneger please choose 6、7、8、9、10\n"
    +"if you are student Please choose 1、2、3、4、5、10\n");
    ShowMenu();
    }

    public static void ShowMenu() throws SQLException {

    System.out.println("-----------option-------------\n");

    System.out.println("1--Student login"); // 学生登录
    System.out.println("2--Change password"); // 学生修改密码
    System.out.println("3--Choose course"); // 学生选课
    System.out.println("4--Get course list"); // 学生查看自己的课程表
    System.out.println("5--Student rigistration"); // 学生注册账号
    System.out.println("6--Create student"); // 管理员创建学生
    System.out.println("7--Create course"); // 管理员创建课表
    System.out.println("8--Get student list"); // 管理员查看学生表
    System.out.println("9--Get course list1"); // 管理员查看选课表里的课程
    System.out.println("10--exit\n"); // 退出

    Test();
    }



    public static void Test() throws SQLException {

    System.out.println("manager choose 1 ,student choose 0");
    int choose1 = console.nextInt(); //int 用nextInt()

    if(choose1 == 1) {

    System.out.println("Please input your password :");
    String password = console.next(); //String 用next()

    if(password.equals(managerPass)) {

    System.out.println("Welcome manager!\n");
    ManagerMenu1();
    }

    else {

    System.out.println("Your password is worry!"); }
    }

    else if(choose1 == 0) {

    System.out.println("Welcome Student!");
    StudentMenu1();
    }
    }



    /*管理员操作菜单*/
    public static void ManagerMenu1() throws SQLException {

    System.out.println("----------Manager----------\n");
    System.out.println("Please choose option");
    int choose2 = console.nextInt();

    switch(choose2) {

    case 1 :
    case 2 :
    case 3 :
    case 4 :
    case 5 :
    System.out.println("This is student`s option,try again!");
    ManagerMenu1();
    break;
    case 6 : CreateStu();break;
    case 7 : CreateCourse();break;
    case 8 : GetStudentList();break;
    case 9 : GetCourseList1();break;
    case 10 : System.exit(0);break;
    default : System.out.println("Please input an right number , try again!"); ManagerMenu1();

    }
    }



    /*学生操作菜单*/
    public static void StudentMenu1() throws SQLException {

    System.out.println("----------Student----------\n");
    System.out.println("Please input option");
    int choose3 = console.nextInt();

    switch(choose3) {

    case 1 : StuLogin();break;
    case 2 : ChangePass();break;

    //在进行Choose course,Get course list之前都要求学生进行StuLogin操作

    case 3 :
    case 4 : System.out.println("you must login before you can do it!\n");StuLogin();break;
    case 5 : StuRigistration();break;
    case 6 :
    case 7 :
    case 8 :
    case 9 : System.out.println("This is manager`s option,try again!");StudentMenu1();break;
    case 10 : System.exit(0);break;
    default : System.out.println("Please input an right number,try again!");StudentMenu1();

    }
    }



    /*管理员创建课程*/
    public static void CreateCourse() throws SQLException{

    try {
    /* 通过connection数据库链接对象 创建一个statement对象数据库操作对象,stat对象再获取一个执行sql的语句。
    * stat对象就是java程序与Database的一个连接通道*/

    Statement stat = conn.createStatement();
    String sql1 = "insert into course(couID,couName,couTeacher)values(1,'软件工程','黄伟国')";
    String sql2 = "insert into course(couID,couName,couTeacher)values(2,'数据库','韦美雁')";
    String sql3 = "insert into course(couID,couName,couTeacher)values(3,'算法设计','黎明')";
    String sql4 = "insert into course(couID,couName,couTeacher)values(4,'大学英语','章琴')";
    String sql5 = "insert into course(couID,couName,couTeacher)values(5,'Java','唐雅媛')";

    int a = stat.executeUpdate(sql1);
    int b = stat.executeUpdate(sql2);
    int c = stat.executeUpdate(sql3);
    int d = stat.executeUpdate(sql4);
    int e = stat.executeUpdate(sql5);

    int sum = a + b + c + d + e;
    System.out.println("成功添加"+ sum + "行课程数据");
    ManagerMenu1();

    } catch (SQLException e) {
    // TODO Auto-generated catch block
    // e.printStackTrace();
    System.out.println("Course already exists");

    ManagerMenu1();
    }
    }



    /*管理员创建学生*/
    public static void CreateStu() throws SQLException {


    try {
    Statement stat = conn.createStatement();
    String sql1 = "insert into student(stuID,stuName) Values(20160501,'徐明正')";

    // 这里对学生信息的输入也必须一个一个输入,这是系统的缺陷,问题待解决

    int a = stat.executeUpdate(sql1);
    System.out.println("成功添加"+ a + "行学生数据");
    ManagerMenu1();

    }catch(SQLException e) {
    // TODO Auto-generated catch block
    System.out.println("The student already exists");

    ManagerMenu1();
    }
    }


    /*学生登录*/
    public static void StuLogin() throws SQLException {

    System.out.println("Please input your stuID"); // 输入账号
    ID = console.next();

    System.out.println("Please input your Password"); // 输入密码
    String stuPassword = console.next();

    String stuID = null;
    String Password = null;

    Statement stat ;
    ResultSet rs ;

    try {
    stat = conn.createStatement();
    String sql1 = "select * from login "; /* 从login表中查询其所有属性值,则stuID 和 Password都有了。
    rs是结果集。查询出的记录是一个列表,初始时指针指向的是第一条记录之前的。*/
    boolean flag;
    rs = stat.executeQuery(sql1);

    while(flag = rs.next()) { // rs.next(); //返回值为true or false

    stuID = rs.getString("stuID");
    Password = rs.getString("Password");

    if( ID.equals(stuID) && stuPassword.equals(Password)) // 注意这里,跳出循环的条件很重要

    break;

    // 如果在数据库里没有找到与用户输入的stuID和Password相匹配的stuID和Password,flag则变为false

    }

    if(!flag){ // 当flag 为 false 时

    System.out.println("The ID or Password is worry!Please input your ID and Password again\n");
    StuLogin();
    }

    else {
    System.out.println("***"+ID+"***"+stuID +"***"+stuPassword+"***"+Password+"***");

    System.out.println("Login Successful!\n");
    System.out.println("------------------Please choose option------------------\n"
    // +"If you want to Change Password ,Please choose 2\n"
    +"If you want to Choose Course,Please choose 3\n"+"If you want to Get Course List,Please choose 4\n"
    +"If you want to exit ,Please choose 8\n");

    int choose4 = console.nextInt();

    switch(choose4) {

    // case 2 : ChangePass();break;
    case 3 : ChooseCourse();break;
    case 4 : GetCourseList();break;
    case 10 : System.exit(0);break;
    default : System.out.println("You input an invalid number!");

    }

    }

    } catch (SQLException e) {

    // TODO Auto-generated catch block
    e.printStackTrace();
    }

    }

    /*在这里说明一下 方法execute 、executeQuery、executeUpdate三者的区别
    * 方法executeQuery 用于单个结果集的语句,如select。他会把查询的结果放入ResultSet类对象中供使用。
    * 方法executeUpdate 用于执行insert、update或delete语句<返回值为整数>以及SQL DDL(数据定义语言),如create table 和 drop table <返回值为零>。
    * 方法execute 用于执行返回多个结果集、多个更新计数或二者组合的语句。*/



    /*学生修改密码*/
    public static void ChangePass() throws SQLException {

    // System.out.println(ID);

    /*此处的ID应该必须要重新输入,否则当选择对数据库中某个ID更新的Password进行修改时,没有对应的ID*/

    System.out.println("Please input your ID");
    String ID = console.next();
    System.out.println("Please input your new Password");
    String NewPassword = console.next();

    Statement stat ;

    try {

    stat = conn.createStatement(); // 两种写法都可以
    // stat = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
    String sql ="UPDATE login SET Password =" + "" + NewPassword + " where stuID ="+ ID;

    //注意,此处的NewPassword 和 ID 没有要用''括起来

    // String sql1 ="UPDATE login SET Password = 111 where stuID = 20156022";

    int a = stat.executeUpdate(sql);
    System.out.println(a);

    if(a != 0) {

    System.out.println("成功修改"+a+"行记录");
    System.out.println("Your new Password is "+ NewPassword);

    StudentMenu1();
    }

    else System.out.println("\n"+"Changing the Password is failed!");

    }catch(SQLException e) {

    // TODO Auto-generated catch block
    e.printStackTrace();
    }

    }



    /*学生选课*/
    public static void ChooseCourse() throws SQLException {

    System.out.println(ID);
    String couID = null;
    String couName = null;
    String couTeacher = null;

    Statement stat;
    ResultSet rs;

    try {

    stat = conn.createStatement();
    String sql = "select * from course";
    rs = stat.executeQuery(sql);

    System.out.println("--------可选课程的信息-------");
    while(rs.next()) {

    couID = rs.getString("couID");
    couName = rs.getString("couName");
    couTeacher = rs.getString("couTeacher");

    System.out.println(couID + " " + couName + " " + couTeacher);
    }

    System.out.println("\n Please choose your course \n");

    stat= conn.createStatement();

    // 此处stuID固定位学生登录时所用的ID,这样可以保证登录自己的账号却能选别的账号的课程

    System.out.println("input CourseID");
    int ID1 = console.nextInt();
    int ID2 = console.nextInt();
    int ID3 = console.nextInt();

    // 这样写 ,学生选课的数目必须固定为3门,问题待解决

    String sql1 = "insert into stuCourse(stuID,couID1,couID2,couID3)VALUES(" + ID + ","+ ID1 + "," + ID2 + "," +ID3 +")";
    int i = stat.executeUpdate(sql1);

    if(i != 0) {
    System.out.println("成功选入课程");

    GetCourseList();
    }
    else System.out.println("选课错误");

    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }



    /*学生获取已选课程列表*/
    public static void GetCourseList() throws SQLException {

    System.out.println("\nHere is your course that you have choose\n");

    Statement stat = null;
    ResultSet rs = null;

    try {

    stat = conn.createStatement();
    String sql = "select * from stuCourse ";
    rs = stat.executeQuery(sql);

    String stuID = null;
    String couID1 = null;
    String couID2 = null;
    String couID3 = null;
    String couID4 = null;

    while(rs.next()) {

    stuID = rs.getString("stuID");
    couID1 = rs.getString("couID1");
    couID2 = rs.getString("couID2");
    couID3 = rs.getString("couID3");
    couID4 = rs.getString("couID4");


    if(stuID.equals(ID))

    System.out.println(stuID + " " + couID1 + " " + couID2 + " " + couID3 + " " + couID4 + "\n");

    }

    }catch(SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }



    /*学生注册*/
    public static void StuRigistration() throws SQLException{

    System.out.println("Please input your ID ");
    String ID = console.next();
    System.out.println("Please input your Password");
    String Password = console.next();

    try {
    Statement stat = conn.createStatement();
    String sql1 = "insert into login(stuID,Password)Values(" + ID + ", " + Password + ")";
    //这里密码只能输入数字,问题待解决

    int a = stat .executeUpdate(sql1);
    System.out.println("成功注册"+ a +"个账号");

    StudentMenu1();

    }catch(SQLException e) {
    // TODO Auto-generated catch block
    System.out.println("ID already exists");
    }
    }


    /* 管理员查看学生表 */
    public static void GetStudentList() {

    System.out.println("\n Here is student` information \n");

    Statement stat = null;
    ResultSet rs = null;

    try {

    stat = conn.createStatement();
    String sql = "select * from student ";
    rs = stat.executeQuery(sql);

    String stuID = null;
    String stuName = null;

    while(rs.next()) {

    stuID = rs.getString("stuID");
    stuName= rs.getString("stuName");

    System.out.println(stuID + " " + stuName + "\n");

    ManagerMenu1();
    }

    }catch(SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }


    /* 管理员查看选课表里的课程*/
    public static void GetCourseList1() {

    System.out.println("\n Here is course`information \n");

    Statement stat = null;
    ResultSet rs = null;

    try {

    stat = conn.createStatement();
    String sql = "select * from course ";
    rs = stat.executeQuery(sql);

    String couID = null;
    String couName = null;
    String couTeacher = null;


    while(rs.next()) {

    couID = rs.getString("couID");
    couName = rs.getString("couName");
    couTeacher = rs.getString("couTeacher");

    System.out.println(couID + " " + couName + " " + couTeacher + "\n");

    ManagerMenu1();
    }

    }catch(SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    }

    转载于:https://www.cnblogs.com/mz-xiansheng/p/9211383.html

    展开全文
  • 大二时候的课设,JAVA链接MySQL实现的学生信息管理系统学生选课管理系统。使用SWing实现GUI设计,实现学生和管理员两种身份登录,教师身份由于时间问题没有完成。
  • 题设:一个教授带5名学生,每一名学生对应一门课程 import java.util.Scanner; public class Teacher { protected String name; protected int id; protected String studentName; protected int studentId; ...

    题设:一个教授带5名学生,每一名学生对应一门课程

    import java.util.Scanner;
    public class Teacher {
        protected String name;
        protected int id;
        protected String studentName;
        protected int  studentId;
        protected int num = 0;
        public Teacher() {
            super();
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getName() {
            return name;
        }
        public int getId() {
            return id;
        }
    
        public int getNum() {
            return num;
        }
    
    
    }
    public class Student extends Teacher{
        protected int num =1;
        protected String courses[];
        public Student(String name, int id, String courses) {
            super();
            this.name = name;
            this.id = id;
            this.studentName = studentName;
            this.studentId = studentId;
        }
        public void showStudent() {
    
        }
    
    public class Professor extends Teacher{
        String[][] stu = new String[5][4];
        String[]courses = new String[5];
        int[] status = {0,0,0,0,0};
        public Professor(String name, int id, String courses[]) {
            super();
            this.name = name;
            this.id = id;
            this.courses = courses;
        }
    
        public String getStatus(int i) {
            if(status[i] == 0) {
                return "可以选择";
            } else {
                return "已被选择";
            }
        }
    
        public void setStatus(int i) {
            status[i] = 1;
        }
    
        public String getCourses(int i) {
            return courses[i];
        }
    
    
        public void setStudent(String name, int id, String courses) {
            num++;
            stu[num-1][0] = name;
            stu[num-1][1] = String.valueOf(id);
            stu[num-1][2] = courses;
        }
    
    }
    public class associateProfessor extends Teacher {
        String[][] stu = new String[4][4];
        String[]courses = new String[4];
        int[] status = {0,0,0,0};
        public associateProfessor(String name, int id, String courses[]) {
            super();
            this.name = name;
            this.id = id;
            this.courses = courses;
        }
    
        public String getStatus(int i) {
            if(status[i] == 0) {
                return "可以选择";
            } else {
                return "已被选择";
            }
        }
    
        public void setStatus(int i) {
            status[i] = 1;
        }
    
        public String getCourses(int i) {
            return courses[i];
        }
    
    
        public void setStudent(String name, int id, String courses) {
            num++;
            stu[num-1][0] = name;
            stu[num-1][1] = String.valueOf(id);
            stu[num-1][2] = courses;
        }
    
    
    
    }
    public class lecturer extends Teacher{
        String[][] stu = new String[5][4];
        String[]courses = new String[5];
        int[] status = {0,0,0};
        public lecturer(String name, int id, String courses[]) {
            super();
            this.name = name;
            this.id = id;
            this.courses = courses;
        }
    
        public String getStatus(int i) {
            if(status[i] == 0) {
                return "可以选择";
            } else {
                return "已被选择";
            }
        }
    
        public void setStatus(int i) {
            status[i] = 1;
        }
    
        public String getCourses(int i) {
            return courses[i];
        }
    
    
        public void setStudent(String name, int id, String courses) {
            num++;
            stu[num-1][0] = name;
            stu[num-1][1] = String.valueOf(id);
            stu[num-1][2] = courses;
        }
    
    
    }
    import java.util.*;
    
    public class Main{
        static int teachernum = 0;
    
        public static void main(String[] args) {
            ArrayList<Professor> p = new ArrayList<Professor>();
            ArrayList<associateProfessor> a = new ArrayList<associateProfessor>();
            ArrayList<lecturer> l = new ArrayList<lecturer>();
            ArrayList<Student> s = new ArrayList<Student>();
    
    
            //System.out.println("欢迎使用选课系统,请选择需要操作的对象");
            Scanner scanner = new Scanner(System.in);
            while (true) {
                System.out.println("欢迎使用选课系统,请选择需要操作的对象");
                System.out.println("1、教师系统 | 2、学生系统 | 3、退出");
                String choice = scanner.next();
                if(Objects.equals(choice, "1") ) {
                    teachernum++;
                    System.out.println("1、教授");
                    System.out.println("2、副教授");
                    System.out.println("3、讲师");
                    String choices = scanner.next();
    
                    switch (choices) {
                        case "1":
                            addProfessor(p);
                            break;
                        case "2":
                            addAssistantProfessor(a);
                            break;
                        case "3":
                            addLecturer(l);
                            break;
                    }
                } else if(teachernum == 0) {
                    System.out.println("暂未开放敬请期待!");
                    break;
                } else if(Objects.equals(choice,"2")) {
    
                        Scanner scanner1 = new Scanner(System.in);
                        System.out.println("欢迎进入学生系统");
                        System.out.println("请输入姓名");
                        String name = scanner1.next();
                        System.out.println("请输入学号");
                        int id1 = Integer.parseInt(scanner1.next());
    
                        System.out.println("请输入课程序列号(1 | 2 | 3)\n");
                        while (true) {
    
                            for (int i = 1; i <= p.size(); i++) {
                                Professor p1 = p.get(i - 1);
                                System.out.println("课程序号  " + "教授名称     " + "教授工号   " + "课题名称");
                                System.out.println((5 * i - 4) + "          " + p1.getName() + "          " + p1.getId() + "          " + p1.getCourses(0));
                                System.out.println((5 * i - 3) + "          " + p1.getName() + "          " + p1.getId() + "          " + p1.getCourses(1));
                                System.out.println((5 * i - 2) + "          " + p1.getName() + "          " + p1.getId() + "          " + p1.getCourses(2));
                                System.out.println((5 * i - 1) + "          " + p1.getName() + "          " + p1.getId() + "          " + p1.getCourses(3));
                                System.out.println((5 * i ) + "          " + p1.getName() + "          " + p1.getId() + "          " + p1.getCourses(4));
    
                            }
    
                            for (int i = 1; i <= a.size(); i++) {
                                associateProfessor a1 = a.get(i - 1);
                                System.out.println("课程序号  " + "副教授名称    " + "副教授工号   " + "课题名称");
                                System.out.println((p.size() * 5 + i * 4 - 3) + "           " + a1.getName() + "          " + a1.getId() + "            " + a1.getCourses(0));
                                System.out.println((p.size() * 5 + i * 4 - 2) + "          " + a1.getName() + "          " + a1.getId() + "            " + a1.getCourses(1));
                                System.out.println((p.size() * 5 + i * 4 - 1) + "          " + a1.getName() + "          " + a1.getId() + "            " + a1.getCourses(2));
                                System.out.println((p.size() * 5 + i * 4 ) + "          " + a1.getName() + "          " + a1.getId() + "            " + a1.getCourses(3));
    
    
                            }
                            for (int i = 1; i <= l.size(); i++) {
                                lecturer l1 = l.get(i - 1);
                                System.out.println("课程序号  " + "讲师名称     " + "讲师工号    " + "课题名称");
                                System.out.println((p.size() * 5 + a.size() * 4 + i * 3 - 2) + "          " + l1.getName() + "          " + l1.getId() + "        " + l1.getCourses(0));
                                System.out.println((p.size() * 5 + a.size() * 4 + i * 3 - 1) + "          " + l1.getName() + "          " + l1.getId() + "        " + l1.getCourses(1));
                                System.out.println((p.size() * 5 + a.size() * 4 + i * 3 ) + "          " + l1.getName() + "          " + l1.getId() + "        " + l1.getCourses(2));
    
    
                            }
                            int c = Integer.parseInt(scanner.next());
                            if (c >= 1 && c <= p.size() * 5) {
                                Professor p1 = p.get((int) Math.ceil((double) c / 5) - 1);
                                int c1;
                                if (c <= 5) {
                                    c1 = c;
                                } else {
                                    c1 = c % 5;
                                }
                                if(p1.getStatus(c1 - 1) == "已被选择") {
                                    System.out.println("重选!");
    
                                } else {
                                    p1.setStudent(name,id1, p1.getCourses(c1 - 1));
                                    p1.setStatus(c1 - 1);
                                    p.set((int) Math.ceil((double) c / 5) - 1,p1);
                                    System.out.println("选课完成!\n");
                                    break;
                                }
                            }
                            if (c > p.size() * 5 && c <= (p.size() * 5 + a.size() * 4)) {
                                associateProfessor a1 = a.get((int) Math.ceil((double) (c - p.size() * 5) / 4) - 1);
                                int c1;
                                if (c - p.size() * 5 <= 4) {
                                    c1 = c - p.size() * 5;
                                } else {
                                    c1 = (c - p.size() * 5) % 4;
                                }
                                if(a1.getStatus(c1 - 1) == "已被选择") {
                                    System.out.println("重选!");
    
                                } else {
                                    a1.setStudent(name,id1,a1.getCourses(c1 - 1));
                                    a1.setStatus(c1 - 1);
                                    a.set((int) Math.ceil((double) (c - p.size() * 5) / 4) - 1, a1);
                                    System.out.println("选课完成!\n");
                                    break;
                                }
    
                            }
                            if (c > p.size() * 5 + a.size() * 4 && c <= (p.size() * 5 + a.size() * 4 + l.size() * 3)) {
                                lecturer l1 = l.get((int) Math.ceil((double) (c - p.size() * 5 - a.size() * 4) / 3) - 1);
                                int c1;
                                if (c - p.size() * 5 - a.size() * 4 <= 3) {
                                    c1 = c - p.size() * 5 - a.size() *4;
                                } else {
                                    c1 = ( c - p.size() * 5 - a.size() *4) % 3;
                                }
                                if(l1.getStatus(c1 - 1) == "已被选择") {
                                    System.out.println("重选!");
    
                                } else {
                                    l1.setStudent(name,id1,l1.getCourses(c1 - 1));
                                    l1.setStatus(c1 - 1);
                                    l.set((int) Math.ceil((double) (c - p.size() * 5 - a.size() * 4) / 3) - 1, l1);
                                    System.out.println("选课完成!\n");
                                    break;
                                }
                            }
    
                        }
    
                    }
                 else if(Objects.equals(choice, "3")){
                    System.out.println("感谢使用本系统,再见!");
                    break;
                }
    
            }
        }
    
    
    
        private static void addProfessor(ArrayList<Professor> p) {
            int flag = 0;
            Scanner scanner = new Scanner(System.in);
            System.out.println("欢迎教授使用");
            System.out.println("请输入姓名");
            String name = scanner.next();
            System.out.println("教工号");
            int id  = Integer.parseInt(scanner.next());
            for(int i = 0; i < p.size(); i++) {
    
                if (Objects.equals(p.get(i).getName(), name) && Objects.equals(p.get(i).getId(), id)) {
                    flag++;
                    System.out.println("欢迎查看您的学生信息");
                    if(p.get(i).getNum() == 0) {
                        System.out.println("还没有学生选择您的课程!\n");
                    } else {
                        for(int j = 0; j < p.get(i).getNum(); j++) {
                            System.out.println("姓名:   " + p.get(i).stu[j][0] + "   id:   "+ p.get(i).stu[j][1] + "    课程:   " + p.get(i).stu[j][2]);
                        }
                    }
                }
            }
            String[] courses = new String[5];
            if(flag == 0){
                System.out.println("请出5道题目供学生选择");
                for(int k = 0; k < 5; k++) {
                    courses[k] = scanner.next();
                }
                Professor p1 = new Professor(name, id, courses);
                p.add(p1);
    
                System.out.println("创建课程成功,感谢使用");
                System.out.println();
    
            }
        }
    
    
        private static void addAssistantProfessor(ArrayList<associateProfessor> a) {
            int flag = 0;
            Scanner scanner = new Scanner(System.in);
            System.out.println("欢迎副教授使用");
            System.out.println("请输入姓名");
            String name = scanner.next();
            System.out.println("教工号");
            int id  = Integer.parseInt(scanner.next());
            for(int i = 0; i < a.size(); i++) {
    
                if (Objects.equals(a.get(i).getName(), name) && Objects.equals(a.get(i).getId(), id)) {
                    flag++;
                    System.out.println("欢迎查看您的学生信息");
                    if(a.get(i).getNum() == 0) {
                        System.out.println("还没有学生选择您的课程!\n");
                    }else {
                        for(int j = 0; j < a.get(i).getNum(); j++) {
                            System.out.println("姓名:   " + a.get(i).stu[j][0] + "   id:   "+ a.get(i).stu[j][1] + "    课程:   " + a.get(i).stu[j][2]);
                        }
                    }
                }
            }
            String[] courses = new String[4];
            if(flag == 0){
                System.out.println("请出4道题目供学生选择");
                for(int k = 0; k < 4; k++) {
                    courses[k] = scanner.next();
                }
               associateProfessor a1 = new associateProfessor(name, id, courses);
                a.add(a1);
    
                System.out.println("创建课程成功,感谢使用");
                System.out.println();
    
            }
        }
    
    
        private static void addLecturer(ArrayList<lecturer> l) {
            int flag = 0;
            Scanner scanner = new Scanner(System.in);
            System.out.println("欢迎讲师使用");
            System.out.println("请输入姓名");
            String name = scanner.next();
            System.out.println("教工号");
            int id  = Integer.parseInt(scanner.next());
            for(int i = 0; i < l.size(); i++) {
    
                if (Objects.equals(l.get(i).getName(), name) && Objects.equals(l.get(i).getId(), id)) {
                    flag++;
                    System.out.println("欢迎查看您的学生信息");
                    if(l.get(i).getNum() == 0) {
                        System.out.println("还没有学生选择您的课程!\n");
                    } else {
                        for(int j = 0; j < l.get(i).getNum(); j++) {
                            System.out.println("姓名:   " + l.get(i).stu[j][0] + "   id:   "+ l.get(i).stu[j][1] + "    课程:   " + l.get(i).stu[j][2]);
                        }
                    }
    
                }
            }
            String[] courses = new String[3];
            if(flag == 0){
                System.out.println("请出3道题目供学生选择");
                for(int k = 0; k < 3; k++) {
                    courses[k] = scanner.next();
                }
                lecturer l1 = new lecturer(name, id, courses);
                l.add(l1);
    
                System.out.println("创建课程成功,感谢使用");
                System.out.println();
    
            }
        }
    
    }
    

    此选课系统是最初简单版的,后续还会持续更新优化,持续关注一下吧~

    展开全文
  • 主要为大家详细介绍了java实现学生管理系统(面向对象),文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 使用java编写学生选课系统,有学生端。管理员端,和教师端,数据库使用sqlsever2012数据库,界面做得很优美.,功能明确,代码层次有结构
  • 主要为大家详细介绍了java学生管理系统界面的简单实现,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 比较完善的学生选课系统任务。包括学生身份,管理员身份等;并且需要实现了很多方法。学者自己实现任务要求。
  • JAVA学生在线选课系统的设计与实现

    热门讨论 2012-11-17 10:47:43
    学生在线选课系统主要使用JAVA语言进行编写,利用B/S结构,主要采用MVC模式。本系统主要用到了STRUTS技术和SPRING技术。通过MYSQL数据库对系统的基本数据进行存储。系统包括三个用户组:系统管理员、学生用户、教师...
  • javaSE编写的网上学生选课系统项目完整代码下载

    千次阅读 热门讨论 2016-06-20 09:25:45
    javaSE编写的网上学生选课系统项目完整代码下载 源代码下载地址http://www.zuidaima.com/share/1803478170635264.htm

    原文:javaSE编写的网上学生选课系统项目完整代码下载

    源代码下载地址http://www.zuidaima.com/share/1803478170635264.htm


    本项目完成了数据的增删改查,很适合初学者学习;内置了数据库的脚本和详细的项目配置文档!!!

    展开全文
  • 学生选课系统java实现

    万次阅读 多人点赞 2015-10-16 20:54:04
    学生选课系统java实现需求描述学生选课系统是集管理员管理系别、班级、课程、教师、学生,学生登录、修改密码、查看选课信息、选课、查看所选课程成绩,教师登录、修改密码、查看认可信息、录入修改成绩这些功能于...

    需求描述

    学生选课系统是集管理员管理系别、班级、课程、教师、学生,学生登录、修改密码、查看选课信息、选课、查看所选课程成绩,教师登录、修改密码、查看认可信息、录入修改成绩这些功能于一体的系统。
    

    1. 列表内容
    管理员维护基本资料
    1)管理员
    2)系别
    3)班级
    4)科目
    5)教师
    6)学生
    2. 学生登录
    1)修改密码
    2)查看可选课程信息
    3)选课
    4)查看所选课程成绩
    3. 教师登录
    1)修改密码
    2)查看任课信息
    3)查看选课信息
    4)录入修改成绩

    语言和环境

    实现语言:java
    实现技术:JavaSE、JDBC、Swing
    环境要求:NetBeans 8.0.2、SQL Server 2014、JDK 1.8.0

    主要结构

    包名说明
    com.gs.stu.source图片资源包
    com.gs.stu.util工具类包
    com.gs.stu.bean实体类包
    com.gs.stu.dao数据访问接口包
    com.gs.stu.service业务逻辑接口包
    com.gs.stu.service.impl业务逻辑实现类包
    com.gs.stu.view视图包

    详细设计

    util包

    包名说明
    com.gs.stu.utilDBConnection数据库连接关闭类
    LocationUtil窗体显示位置工具类
    FrameUtil内部窗体创建工具类

    bean包

    包名说明
    com.gs.stu.beanManager管理员类
    Department系部类
    ClassBean班级类
    Teacher教师类
    TeacherView教师视图类
    Course课程类
    CourseView课程视图类
    Student学生类
    StudentView学生视图类
    SelectCourse选课类
    SelectCourseView选课视图类
    Log日志类

    dao包

    包名接口说明
    com.gs.stu.daoSysManagerDao管理员管理接口
    SysDepartmentDao系部管理接口
    SysClassDao班级管理接口
    SysTeacherDao教师管理接口(管理员部分)
    SysCourseDao课程管理接口
    SysStudentDao学生管理接口(管理员部分)
    SysLogDao日志管理接口
    StudentDao学生管理接口
    TeacherDao教师管理接口

    service包

    包名接口说明
    com.gs.stu.serviceSysManagerService管理员业务管理接口
    SysDepartmentService系部业务管理接口
    SysClassService班级业务管理接口
    SysTeacherService教师业务管理接口(管理员部分)
    SysCourseService课程业务管理接口
    SysStudentService学生业务管理接口(管理员部分)
    SysLogService日志业务管理接口
    StudentService学生业务管理接口
    TeacherService教师业务管理接口

    功能模块设计(后台)

    管理员管理部分

    管理员业务管理模块

    1. Dao接口类:
    类名:SysManagerDao
    成员变量:
    private int id;--编号
    private String sysaccount;--用户名
    private String syspassword;--密码
    2. 接口内方法:
    Manager managerLogin(String sysaccount,String syspassword);--根据帐号和密码查询管理员
    int addManager(Manager m);-- 添加管理员
    int deleteManager(int id);-- 删除管理员
    int updateManager(Manager m);-- 修改管理员密码
    Manager findManagerById(int id);-- 根据id查询管理员
    Manager findManagerByAccount(String sysaccount);-- 根据帐号查询管理员
    List<Manager> findAllManager();--查询所有管理员信息
    3. Service接口类
    类名:SysManagerService
    Manager managerLogin(String sysaccount,String syspassword);-- 根据帐号和密码查询管理员
    boolean addManager(Manager m);-- 添加管理员
    boolean deleteManager(int id);-- 删除管理员
    boolean updateManager(Manager m);-- 修改管理员密码
    Manager findManagerById(int id);-- 根据id查询管理员
    Manager findManagerByAccount(String sysaccount);-- 根据帐号查询管理员
    List<Manager> findAllManager();--查询所有管理员信息
    4. 具体实现类个别详解

    1) Dao接口实现类名称:SysManagerDaoImpl

    //例:查询所有管理员信息
    public List<Manager> findAllManager() {
            List<Manager> list = new ArrayList<Manager>();
            Connection conn =DBConnection.getConnection(); //创建连接
            Manager mng =null;//创建一个管理员空对象
            String sql = "use selectivedb select * from t_manager ";//数据库要执行的操作
    //调用Execute类中的executeQuery(String sql,Connection con)来执行
            ResultSet rs =ExecuteSql.executeQuery(sql, conn);
            try{
                while(rs.next()){
                mng = new Manager();
                mng.setId(rs.getInt("id"));
                mng.setSysaccount(rs.getString("sysaccount"));
                mng.setSyspassword(rs.getString("Syspassword"));
                list.add(mng);//将获取到的Manager放到list中
                }
            }catch(Exception e){
                e.printStackTrace();
            }
            return list;
        }

    2) Service实现类名:SysManagerServiceImpl

    //例:提供查找所有的管理员的服务
    public List<Manager> findAllManager() {
            return s.findAllManager();
    }

    系部业务管理模块

    1. Dao接口类:
    类名:SysDepartmentDao
    成员变量:   
    private int id;
    private String depname;
    2. 接口内方法:
    int addDepartment(Department dep);-- 添加系
    int deleteDepartment(int id);-- 删除系
    int updateDepartment(Department dep);-- 更新系名称
    Department findDepById(int id);-- 根据编号查找系
    Department findDepByName(String depname);-- 根据名称查找系
    List<Department> findAllDep();--查看所有系
    3. Service接口类
    类名:SysDepartmentService
    boolean addDepartment(Department dep);-- 添加系
    boolean deleteDepartment(int id);-- 删除系
    boolean updateDepartment(Department dep);-- 更新系名称
    Department findDepById(int id);-- 根据编号查找系
    Department findDepByName(String depname);-- 根据名称查找系
    List<Department> findAllDep();--查看所有系
    4. 具体实现类个别详解
    1)  Dao接口实现类名称:SysDepartmentDaoImpl
        //添加系
        public int addDepartment(Department dep) {
            int i = 0;
            String depname = dep.getDepname();
            Connection conn =DBConnection.getConnection();
            try{
                String sql ="use selectivedb insert into t_department (depname) values('"+depname+"')";
                i = ExecuteSql.executeUpdate(sql, conn);
            }catch(Exception e){
                e.printStackTrace();
            }
            DBConnection.closeConn(conn);
            return i;
    }
    2)  Service实现类名:SysDepartmentServiceImpl
        public boolean addDepartment(Department dep) {
            return(s.addDepartment(dep)==1);
        }   

    班级业务管理

    1. Dao接口类:
    类名: SysClassDao
    成员变量:
    private int id;
    private String classname;
    接口内方法:
    //添加班级
    public int addClassBean(ClassBean classbean);
    //删除班级
    public int deleteClassBean(int id);
    //修改班级
    public int updateClassBean(ClassBean classbean);
    //根据编号查找班级
    public ClassBean findClassBeanById(int id);
    //根据名称查找班级
    public ClassBean findClassBeanByName(String classname);
    //查看所有班级
    public List<ClassBean> findAllClass();
    2. Service接口类
    类名: SysClassService
    接口内的方法:
    //添加班级
    public boolean addClassBean(ClassBean classbean);
    //删除班级
    public boolean deleteClassBean(int id);
    //修改班级
    public boolean updateClassBean(ClassBean classbean);
    //根据编号查找班级
    public ClassBean findClassBeanById(int id);
    //根据名称查找班级
    public ClassBean findClassBeanByName(String classname);
    //查看所有班级
    public List<ClassBean> findAllClass();
    3. 具体实现类个别详解
    Dao接口实现类名称:SysClassDaoImpl
    //通过班级名称来找到班级
        public ClassBean findClassBeanByName(String classname) {
            Connection conn =DBConnection.getConnection();
            ClassBean clsb = null;
            String sql = "use selectivedb select * from t_class where classname= '"+classname+"'";
            ResultSet rs =null;
            try{
                rs =ExecuteSql.executeQuery(sql, conn);
                while(rs.next()){
                    clsb = new ClassBean();
                    clsb.setId(rs.getInt("id"));
                    clsb.setClassname(rs.getString("classname"));                
                }
            }catch(Exception e){
                e.printStackTrace();
            }
            DBConnection.closeConn(conn);
            return clsb;  
        }
    Service实现类名:SysClassServiceImpl
    //通过班级名称来找到班级
        public ClassBean findClassBeanByName(String classname) {
            return c.findClassBeanByName(classname);
        }

    教师业务管理

    1. Dao接口类:
    类名: TeacherDao
    成员变量:
    TeacherView:
       private int tid;
       private String tpassword;
       private String tname;
       private String tsex;
       private int tage;
       private String tjob;
       private String depname;
    Teacher:
       private int tid;
       private String tpassword;
       private String tname;
       private short tsex;
       private int tage;
       private String tjob;
       private int tdepartment;
    接口内方法:
        //1.登录
        public Teacher teacherLogin(int tid, String tpassword);
        //2.修改密码
        public int updatePassword(int tid, String tpassword);
        //3.查看自己的任课信息
        public List<Course> findCourseByTeacher(int tid);//根据教师编号查询教师任课信息
        //4.查看选课信息(某门课有哪些学生选修)
        public List<StudentView> findSelectCourseByCid(int cid);//根据课程号查询选课信息
        //5.录入成绩
        public int updateScore(SelectCourse sc);//根据学号,课程号,录入或修改成绩
        //6.成绩信息查看(某门课成绩)
        public List<SelectCourseView> findCourseScoreByCid(int cid);
    2. Service接口类
    类名: SysTeacherService
    类中方法:
    //添加教师
        public boolean addTeacher(Teacher tea);
        //删除教师
        public boolean deleteTeacher(int tid);
        //修改教师
        public boolean updateTeacher(Teacher tea);
        //根据教师工号查找
        public TeacherView findTeaById(int tid);
        //查看所有教师
        public List<TeacherView> findAllTeacher();
    3. 具体实现类个别详解
    Dao接口实现类名称:SysTeacherDaoImpl
    //更新教师信息
    public int updateTeacher(Teacher tea) {
         int tid = tea.getTid();
         String tpassword= tea.getTpassword();
         String tname = tea.getTname();
         short tsex = tea.getTsex();
         int tage = tea.getTage();
         String tjob = tea.getTjob();
         int tdepartment = tea.getTdepartment();
         int i = 0;
         Connection conn =DBConnection.getConnection();
         try{
            String sql ="use selectivedb update t_teacher set tpassword = '"+tpassword+
             "',Tname = '"+tname+"',Tsex = "+tsex+",tage ="+tage+",Tjob = '"+tjob+"',tDepartment="
                    + ""+tdepartment+" where tid = "+tid;
             i = ExecuteSql.executeUpdate(sql, conn);
           }catch(Exception e){
            e.printStackTrace();
          }
         DBConnection.closeConn(conn);
         return i;
        }
    Service实现类名:SysTeacherServiceImpl
    //提供更新教师信息服务
    public boolean updateTeacher(Teacher tea) {
            return (s.updateTeacher(tea)==1);   
        }

    课程业务管理

    1. Dao接口类:
    类名: SysCourseDao
    成员变量:
    CourseView:
       private int id;
       private String coursename;
       private int credit;
       private String ctime;
       private String caddress;
       private String tname;
       private int limitnumber;
       private int truenumber;
    Course:
       private int id;
       private String coursename;
       private int credit;
       private String ctime;
       private String caddress;
       private int teacher;
       private int limitnumber;
       private int truenumber;
    接口内方法:
        //添加课程
        public int addCourse(Course cou);
        //根据课程编号删除课程
        public int deleteCourse(int id);
        //修改课程
        public int updateCourse(Course cou);
        //根据课程名查找课程
        public CourseView findCouByName(String coursename);
        //查看所有课程
        public List<CourseView> findAllCourse();
        public boolean findCouByAll(Course cou);
    2. Service接口类

    类名: SysCourseService

    3. 具体实现类个别详解
    Dao接口实现类名称:
    Service实现方法名:
        //添加课程
        public boolean addCourse(Course cou);
        //删除课程
        public boolean deleteCourse(int id);
        //修改课程
        public boolean updateCourse(Course cou);
        //根据课程名查找课程
        public CourseView findCouByName(String coursename);
        //查看所有课程
        public List<CourseView>findAllCourse();
        public boolean findCouByAll(Course cou);

    学生业务管理

    1. Dao接口类:
    类名: SysStudentDao
    成员变量:
    StudentView:
        private int sid;
        private String sname;
        private String spassword;
        private String ssex;
        private int sage;
        private String classname;
    private String depname;
    Student:
        private int sid;
        private String sname;
        private String spassword;
        private short ssex;
        private int sage;
        private int sclass;
        private int sdepartment;
    接口内方法:
        //添加学生
        public int addStudent(Student stu);
        //删除学生
        public int deleteStudent(int sid);
        //修改学生
        public int updateStudent(Student stu);
        //根据学号查找学生
        public StudentView findStuById(int sid);
        //查找所有学生
        public  List<StudentView> findAllStudent();
    2. Service接口类
    类名: SysStudentService
    接口内方法:
        //添加学生并返回学号
        public boolean addStudent(Student stu);
        //删除学生
        public boolean deleteStudent(int sid);
        //修改学生
        public boolean updateStudent(Student stu);
        //根据学号查找学生
        public StudentView findStuById(int sid);
        //查找所有学生
        public  List<StudentView> findAllStudent();
    3. 实现类
    Dao接口实现类名称:SysStudentDaoImpl
    Service实现类名:SysStudentServiceImpl   

    日志管理

    1. Dao接口类:
    类名: SysLogDao
    成员变量:
      private int id ;
      private String Loginaccount ;
      private String Logintime  ;
    接口内方法:
      //记录登录信息
      public int setLog(Log log);
      //获得所有登录日志
      public List<Log> getLogs();
    2. Service接口类
    类名: SysLogService
    接口内方法:
        //记录登录信息
        public boolean setLog(Log log);
        //获得所有登录日志
        public List<Log> getLogs();
    3. 实现类
    Dao接口实现类名称:SysLogDaoImpl
    Service实现类名:SysLogServiceImpl

    教师管理部分

    1. Dao接口类:TeacherDao

        //1.登录
        public Teacher teacherLogin(int tid, String tpassword);
        //2.修改密码
        public int updatePassword(int tid, String tpassword);
        //3.查看自己的任课信息
        public List<Course> findCourseByTeacher(int tid);//根据教师编号查询教师任课信息
        //4.查看选课信息(某门课有哪些学生选修)
        public List<StudentView> findSelectCourseByCid(int cid);//根据课程号查询选课信息
        //5.录入成绩
        public int updateScore(SelectCourse sc);//根据学号,课程号,录入或修改成绩
        //6.成绩信息查看(某门课成绩)
        public List<SelectCourseView> findCourseScoreByCid(int cid);
    展开全文
  • 学生选课系统 有控制台型的代码 也有图形界面型的代码
  • java高校学生选课系统

    热门讨论 2011-07-04 16:29:47
    3.1.1 编写目的 7 3.1.2 开发系统的技术可行性 7 3.1.3 开发系统的法律可行性 7 3.1.4 社会条件上的可行性 7 3.2 功能需求分析 8 3.2.1 功能需求分类 8 3.2.2 用例图 8 3.3 非功能性需求分析 11 3.3.1 用户...
  • 期末考试作业,连接MySQL,不太好,请大神们帮忙指正错误。
  • 基于eclipse和mysql编写学生选课系统

    千次阅读 多人点赞 2020-03-04 21:03:55
    基于eclipse和mysql编写学生选课系统 学生选课管理系统是我在大学期间做的课程设计 ,本人如今也是刚刚毕业,正在学java ,请大神们忽略,我还只是一个菜鸟。 学生选课功能架构图 该管理系统分管理员和用户两个...
  • 学生选课管理系统

    热门讨论 2013-01-07 08:19:45
    学生选课管理系统 --意义-- 学生选课系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管 理者来说都至关重要,所以学生选课系统应该能够为用户提供充足的信息和快捷 的查询手段。但一直以来人们使用...
  • java编写学生选课信息

    2013-12-16 09:41:53
    实现单选按钮 多选按钮以及文本输出等各项功能
  • Java 课程设计_学生选课管理系统(控制台)

    千次阅读 多人点赞 2020-12-18 21:51:46
    Java 课程设计_学生选课管理系统 需求分析 本数据库的用户主要是学生,通过对用户需求的收集和分析,获得用户对数据库的如下要求。 1.信息需求 学生信息:学号,姓名,性别,专业 登陆信息:账号,密码 课程信息:课程...
  • 学生选课系统作为一种现代化的教学技术,以越来越受到人民的重视,是一个学校不可缺少的部分, 学生选课系统就是为了管理好选课信息而设计的。学生选课系统的将使选课管理工作规范化,系统化,程序化,避免选课管理的...
  • 压缩包内有运行说明文档,按照提示即可。内含数据库,无SSH框架,简单易懂,学习必备。
  • java实现简单的选课系统

    万次阅读 多人点赞 2018-08-07 18:22:33
    学生端可以实现,查找课程,增加选课,删除选课的功能 管理端可以实现对备选课程,学生信息的增删查改 缺点:登陆操作没有实现密码验证和多态。   另外map对象明明put了,可是get的时候竟然会取到null,而且...
  • JAVA语言编写学生选课系统,开发工具为eclipse
  • eclipse中利用JAVA_MVC框架编写学生管理系统,比较适合大学毕业设计及初学者参考
  • 简单学生选课系统

    2018-04-28 13:41:39
    简单的学生选课系统 可以进行数据库连接登陆进系统进行选课 有管理员和学生登陆两个系统
  • 基于java所写的学生选课管理系统

    万次阅读 多人点赞 2019-06-10 19:15:55
    通过学生选课管理信息系统可以做到信息的规范管理、科学统计和快速査询、修改、增加、删除等,从而实现管理方面的工作量。目前社会上信息管理系统发展飞快,各个企业单位都引入了信息管理软件来管理自己日益增长的...
  • java编写学生成绩录入系统

    万次阅读 多人点赞 2016-08-01 20:43:47
    1.学生类 包括学生的姓名和各科成绩 public class Score { public String name; public double EnglishGrade, MathGrade,phyicalGrade, chemicalGrade,biologicalGrade; Score() { } public Score(String ...
  • 学生选课系统.zip

    2020-05-28 21:42:50
    学生选课系统源代码,用java语言编写,mysql数据库。一个完善的选课系统,下载既可以部署使用,界面美观完善,
  • JAVA编写的适合家庭用的图书管理系统(derby数据库),JAVA数据库课设,压缩包里有使用说明,都是自己写的,不分享一下可惜了
  • java_学生选课系统

    2013-06-01 22:30:14
    java编写选课系统,能实现管理员教师和学生的基本功能 管理员登录、修改密码、查看信息、删除信息 教师注册、登录、发布课程、修改课程内容、登记成绩 学生注册、登录、选课、退选、查看成绩

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,764
精华内容 1,105
关键字:

java编写学生选课系统

java 订阅