JAVA 实现简单的学生选课系统(持续更新中)

题设:一个教授带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();

        }
    }

}

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

  • 3
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1,项目功能: 后台系统:(1)商品管理:改模块主要实现商品信息的额添加,商品信息的编辑,商品信息的删除,商品信息的查看,商品分类信息的添加,商品分类信息的编辑,商品分类信息的删除,商品分类信息的查看,品牌信息的添加,品牌信息的删除,品牌信息的编辑以及品牌信息的查看功能。(2)订单管理:主要实现订单信息的添加,订单信息的查看,订单信息的编辑,订单信息的删除以及退货处理功能。(3)用户管理:主要对用户信息进行管理,主要包括用户信息的添加,修改,删除,以及查看列表功能。(4)营销管理:主要实现对营销方式的添加,删除,修改和查看等功能。前台系统:(1) 商品分类:主要实现商品的分类检索功能功能。 (2) 今日推荐:主要实现商品的推荐信息展示。(3) 优惠:主要实现优惠商品信息的展示。(4) 超值:主要实现超值商品信息的展示。(5) 秒杀:主要实现秒杀功能(6) 购物车:用户可以将喜欢的商品添加到购物车(7) 订单:用户可以对要购买商品提交订单。(8) 个人心:主要实现个人信息的查看与修改     适合做毕业设计参考项目。2,涉及技术:SpringBoot框架3,开发环境:IDEA,MySQL数据库4,讲解方式:从环境安装,项目搭建,以及项目介绍等进行讲解5,包含资料:项目源码(含数据库文件),环境安装包,项目文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值