guhusf 发表于 2021-10-25 12:07:08

课程管理系统

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;
    }

}

WAngLeYu 发表于 2022-5-25 15:47:14

29行好像错误了
页: [1]
查看完整版本: 课程管理系统