鱼C论坛

 找回密码
 立即注册
查看: 2689|回复: 1

[学习笔记] 课程管理系统

[复制链接]
发表于 2021-10-25 12:07:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
package xitong;


import java.util.*;;

class KeCheng{
    String KeChengName;                                  //课程名称
    String BiXiu;                                  //是否是必修课
    String teacher;                                     //授课教师
    int hour;                                           //学时
    int Grade;                                         //学分

    static int count;                                   //课程个数

    KeCheng(){}                                          //构造方法
    KeCheng(String KeChengName,String BiXiu,String teacher,int hour,int Grade){
        this.KeChengName=KeChengName;
        this.BiXiu=BiXiu;
        this.teacher=teacher;
        this.hour=hour;
        this.Grade=Grade;
    }

 
}

class KeChengVector {

    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        KeChengVector manage=new KeChengVector();

        Vector<KeCheng> KeCheng=manage.init();          //课程系统初始化录入信息

        manage.menu();                                      //呈现系统菜单
        System.out.println("请输入相应的编号:");
        int x;                                              //用户指令
        while(true){
            x=sc.nextInt();

            switch (x){
            //0、退出系统
            case 0:System.out.println("已退出系统,欢迎下次使用!");sc.close();System.exit(0);break;
            //1、课程添加
            case 1:KeCheng=manage.addKeCheng(KeCheng);break;
            //2、课程删除
            case 2:KeCheng=manage.deleteKeCheng(KeCheng);break;
         
          
            //3、显示全部课程信息
            case 3:manage.displayAllKeCheng(KeCheng);break;
            //4、课程查询
            case 4:manage.referKeCheng(KeCheng);break;
            //5、重现菜单
            case 5:manage.menu();break;
            //输入错误
            default:System.out.print("输入有误,");
            }
            System.out.println("请输入“5”重现主菜单,输入“0”退出系统)");       
        }       
    }
//初始化
    Vector<KeCheng> init(){
        Scanner sc=new Scanner(System.in);
        KeChengVector manage=new KeChengVector();
        Vector<KeCheng> KeCheng=new Vector<KeCheng>();
        System.out.println("————————————————课程管理系统————————————————");
        System.out.println("————————————————————————————————————————");
        System.out.println("正在初始化课程信息列表,请输入要创建的课程数:");
        int count=sc.nextInt();

        System.out.println("(一行一门课程)\n课程名称\t是否是必修课\t授课教师\t学时\t学分");
        for(int i=0;i<count;i++){
            KeCheng.addElement(manage.createKeCheng());
        }
        System.out.println("已完成课程信息录入。");
        return KeCheng;
    }
//创建一个KeCheng对象
    KeCheng createKeCheng(){
            Scanner sc=new Scanner(System.in);
            String KeChengName=sc.next();
            String BiXiu=sc.next();
            String teacher=sc.next();
            int hour=sc.nextInt();
            int Grade=sc.nextInt();
            KeCheng sc1=new KeCheng(KeChengName,BiXiu,teacher,hour,Grade);
            return sc1;
    }
//系统菜单方法
    void menu(){        
        System.out.println("————————————————课程管理系统————————————————");
        System.out.println("————————————————————————————————————————");
        System.out.println("      1、课程添加                                                2、课程删除");
        System.out.println("      3、显示全部课程信息                                                4、 课程查询");
        System.out.println("                 0、退出系统");
        System.out.println("————————————————————————————————————————");
    }
//课程添加方法
    Vector<KeCheng> addKeCheng(Vector<KeCheng> KeCheng){
        Scanner sc=new Scanner(System.in);
        KeChengVector manage=new KeChengVector();

        System.out.println("请输入要添加的课程数:");
        int count=sc.nextInt();

        System.out.println("(一行一门课程)\n课程名称\t是否是必修课\t授课教师\t学时\t学分");
        for(int i=0;i<count;i++){
            KeCheng.addElement(manage.createKeCheng());
        }
        System.out.println("已完成课程信息添加。");
        return KeCheng;
    }
//显示所有课程信息方法
    void displayAllKeCheng(Vector<KeCheng> KeCheng){
        System.out.println("所有课程信息:");
        System.out.println("实时编号\t课程名称\t是否是必修课\t授课教师\t学时\t学分");
        for(int i=0;i<KeCheng.size();i++){
            System.out.println((i+1)+"\t"+KeCheng.elementAt(i).KeChengName+"\t"+KeCheng.elementAt(i).BiXiu+"\t"+KeCheng.elementAt(i).teacher+"\t"+KeCheng.elementAt(i).hour+"\t"+KeCheng.elementAt(i).Grade);   
        }               
    }
//课程查询方法
    void referKeCheng(Vector<KeCheng> KeCheng){
        Scanner sc=new Scanner(System.in);
        int x;                                          //用户指令
        int normal;                                     //指令输入是否正确
        int get;                                        //查询是否得到结果

        while(true){
            normal=1;
            get=0;
            System.out.println("查询课程,请选择:\n1、按课程名查询\t2、按授课老师查询\t0、退出查询");
            x=sc.nextInt();

        //课程名
            if(x==1){
                System.out.println("请输入课程名:");
                String name=sc.next();
                System.out.println("查询结果:");
                System.out.println("编号\t课程名称\t是否是必修课\t授课教师\t学时\t学分");
                for(int i=0;i<KeCheng.size();i++){
                    if(KeCheng.elementAt(i).KeChengName.equals(name)){
                        get=1;
                        System.out.println((i+1)+"\t"+KeCheng.elementAt(i).KeChengName+"\t"+KeCheng.elementAt(i).BiXiu+"\t"+KeCheng.elementAt(i).teacher+"\t"+KeCheng.elementAt(i).hour+"\t"+KeCheng.elementAt(i).Grade);   
                    }
                }
                if(get==0){
                    System.out.println("没有相关结果!");
                }
            }
        //授课老师
            else if(x==2){
                System.out.println("请输入授课老师名:");
                String name=sc.next();
                System.out.println("查询结果:");
                System.out.println("编号\t课程名称\t是否是必修课\t授课教师\t学时\t学分");
                for(int i=0;i<KeCheng.size();i++){
                    if(KeCheng.elementAt(i).teacher.equals(name)){
                        get=1;
                        System.out.println((i+1)+"\t"+KeCheng.elementAt(i).KeChengName+"\t"+KeCheng.elementAt(i).BiXiu+"\t"+KeCheng.elementAt(i).teacher+"\t"+KeCheng.elementAt(i).hour+"\t"+KeCheng.elementAt(i).Grade);   
}
                }
                if(get==0){
                    System.out.println("没有相关结果!");
                }
            }
      
            else if(x==0){
                break;
            }
        //输入错误
            else{
                normal=0;
                System.out.println("输入错误,请重新选择:");
            }
        //每次正常完成查询后询问是否继续查询
            if(normal==1){
                System.out.println("继续查询请输“1”,退出查询请输“0”:");
                if(sc.nextInt()==0){
                    break;
                }
            }
        }
    }
//课程删除方法
    Vector<KeCheng> deleteKeCheng(Vector<KeCheng> KeCheng){
        Scanner sc=new Scanner(System.in);
        KeChengVector manageNow=new KeChengVector();
        int i;                                          //删除项索引号

        while(true){
            System.out.println("对要删除的课程进行查询,");
            manageNow.referKeCheng(KeCheng);

            System.out.println("请输入要删除的一个课程编号:(输“0”退出删除)");
            i=sc.nextInt()-1;
            if(i>KeCheng.size()-1||i<-1){
                System.out.print("没有此编号,");     
            }
            else if(i==-1){
                break;
            }
            else{
            //删除项确认
                System.out.println("即将删除的课程为:");
                System.out.println("编号\t课程名称\t是否是必修课\t授课教师\t学时\t学分");
                System.out.println((i+1)+"\t"+KeCheng.elementAt(i).KeChengName+"\t"+KeCheng.elementAt(i).BiXiu+"\t"+KeCheng.elementAt(i).teacher+"\t"+KeCheng.elementAt(i).hour+"\t"+KeCheng.elementAt(i).Grade);   
                System.out.println("确认  删除请输“1”,退出删除请输“0”:");
                if(sc.nextInt()==0){
                    break;
                }
            //进行删除
                KeCheng.remove(i);
                System.out.print("系统现存");
                manageNow.displayAllKeCheng(KeCheng);
            //询问是否继续删除  
                System.out.println("继续  删除请输“1”,退出删除请输“0”:");
                if(sc.nextInt()==0){
                    break;
                }
            }
        }   
        return KeCheng;
    }

}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-5-25 15:47:14 | 显示全部楼层
29行好像错误了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-18 15:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表