鱼C论坛

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

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

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

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

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

x
  1. package xitong;


  2. import java.util.*;;

  3. class KeCheng{
  4.     String KeChengName;                                  //课程名称
  5.     String BiXiu;                                  //是否是必修课
  6.     String teacher;                                     //授课教师
  7.     int hour;                                           //学时
  8.     int Grade;                                         //学分

  9.     static int count;                                   //课程个数

  10.     KeCheng(){}                                          //构造方法
  11.     KeCheng(String KeChengName,String BiXiu,String teacher,int hour,int Grade){
  12.         this.KeChengName=KeChengName;
  13.         this.BiXiu=BiXiu;
  14.         this.teacher=teacher;
  15.         this.hour=hour;
  16.         this.Grade=Grade;
  17.     }


  18. }

  19. class KeChengVector {

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

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

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

  29.             switch (x){
  30.             //0、退出系统
  31.             case 0:System.out.println("已退出系统,欢迎下次使用!");sc.close();System.exit(0);break;
  32.             //1、课程添加
  33.             case 1:KeCheng=manage.addKeCheng(KeCheng);break;
  34.             //2、课程删除
  35.             case 2:KeCheng=manage.deleteKeCheng(KeCheng);break;
  36.          
  37.          
  38.             //3、显示全部课程信息
  39.             case 3:manage.displayAllKeCheng(KeCheng);break;
  40.             //4、课程查询
  41.             case 4:manage.referKeCheng(KeCheng);break;
  42.             //5、重现菜单
  43.             case 5:manage.menu();break;
  44.             //输入错误
  45.             default:System.out.print("输入有误,");
  46.             }
  47.             System.out.println("请输入“5”重现主菜单,输入“0”退出系统)");      
  48.         }      
  49.     }
  50. //初始化
  51.     Vector<KeCheng> init(){
  52.         Scanner sc=new Scanner(System.in);
  53.         KeChengVector manage=new KeChengVector();
  54.         Vector<KeCheng> KeCheng=new Vector<KeCheng>();
  55.         System.out.println("————————————————课程管理系统————————————————");
  56.         System.out.println("————————————————————————————————————————");
  57.         System.out.println("正在初始化课程信息列表,请输入要创建的课程数:");
  58.         int count=sc.nextInt();

  59.         System.out.println("(一行一门课程)\n课程名称\t是否是必修课\t授课教师\t学时\t学分");
  60.         for(int i=0;i<count;i++){
  61.             KeCheng.addElement(manage.createKeCheng());
  62.         }
  63.         System.out.println("已完成课程信息录入。");
  64.         return KeCheng;
  65.     }
  66. //创建一个KeCheng对象
  67.     KeCheng createKeCheng(){
  68.             Scanner sc=new Scanner(System.in);
  69.             String KeChengName=sc.next();
  70.             String BiXiu=sc.next();
  71.             String teacher=sc.next();
  72.             int hour=sc.nextInt();
  73.             int Grade=sc.nextInt();
  74.             KeCheng sc1=new KeCheng(KeChengName,BiXiu,teacher,hour,Grade);
  75.             return sc1;
  76.     }
  77. //系统菜单方法
  78.     void menu(){        
  79.         System.out.println("————————————————课程管理系统————————————————");
  80.         System.out.println("————————————————————————————————————————");
  81.         System.out.println("      1、课程添加                                                2、课程删除");
  82.         System.out.println("      3、显示全部课程信息                                                4、 课程查询");
  83.         System.out.println("                 0、退出系统");
  84.         System.out.println("————————————————————————————————————————");
  85.     }
  86. //课程添加方法
  87.     Vector<KeCheng> addKeCheng(Vector<KeCheng> KeCheng){
  88.         Scanner sc=new Scanner(System.in);
  89.         KeChengVector manage=new KeChengVector();

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

  92.         System.out.println("(一行一门课程)\n课程名称\t是否是必修课\t授课教师\t学时\t学分");
  93.         for(int i=0;i<count;i++){
  94.             KeCheng.addElement(manage.createKeCheng());
  95.         }
  96.         System.out.println("已完成课程信息添加。");
  97.         return KeCheng;
  98.     }
  99. //显示所有课程信息方法
  100.     void displayAllKeCheng(Vector<KeCheng> KeCheng){
  101.         System.out.println("所有课程信息:");
  102.         System.out.println("实时编号\t课程名称\t是否是必修课\t授课教师\t学时\t学分");
  103.         for(int i=0;i<KeCheng.size();i++){
  104.             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);   
  105.         }               
  106.     }
  107. //课程查询方法
  108.     void referKeCheng(Vector<KeCheng> KeCheng){
  109.         Scanner sc=new Scanner(System.in);
  110.         int x;                                          //用户指令
  111.         int normal;                                     //指令输入是否正确
  112.         int get;                                        //查询是否得到结果

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

  118.         //课程名
  119.             if(x==1){
  120.                 System.out.println("请输入课程名:");
  121.                 String name=sc.next();
  122.                 System.out.println("查询结果:");
  123.                 System.out.println("编号\t课程名称\t是否是必修课\t授课教师\t学时\t学分");
  124.                 for(int i=0;i<KeCheng.size();i++){
  125.                     if(KeCheng.elementAt(i).KeChengName.equals(name)){
  126.                         get=1;
  127.                         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);   
  128.                     }
  129.                 }
  130.                 if(get==0){
  131.                     System.out.println("没有相关结果!");
  132.                 }
  133.             }
  134.         //授课老师
  135.             else if(x==2){
  136.                 System.out.println("请输入授课老师名:");
  137.                 String name=sc.next();
  138.                 System.out.println("查询结果:");
  139.                 System.out.println("编号\t课程名称\t是否是必修课\t授课教师\t学时\t学分");
  140.                 for(int i=0;i<KeCheng.size();i++){
  141.                     if(KeCheng.elementAt(i).teacher.equals(name)){
  142.                         get=1;
  143.                         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);   
  144. }
  145.                 }
  146.                 if(get==0){
  147.                     System.out.println("没有相关结果!");
  148.                 }
  149.             }
  150.       
  151.             else if(x==0){
  152.                 break;
  153.             }
  154.         //输入错误
  155.             else{
  156.                 normal=0;
  157.                 System.out.println("输入错误,请重新选择:");
  158.             }
  159.         //每次正常完成查询后询问是否继续查询
  160.             if(normal==1){
  161.                 System.out.println("继续查询请输“1”,退出查询请输“0”:");
  162.                 if(sc.nextInt()==0){
  163.                     break;
  164.                 }
  165.             }
  166.         }
  167.     }
  168. //课程删除方法
  169.     Vector<KeCheng> deleteKeCheng(Vector<KeCheng> KeCheng){
  170.         Scanner sc=new Scanner(System.in);
  171.         KeChengVector manageNow=new KeChengVector();
  172.         int i;                                          //删除项索引号

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

  176.             System.out.println("请输入要删除的一个课程编号:(输“0”退出删除)");
  177.             i=sc.nextInt()-1;
  178.             if(i>KeCheng.size()-1||i<-1){
  179.                 System.out.print("没有此编号,");     
  180.             }
  181.             else if(i==-1){
  182.                 break;
  183.             }
  184.             else{
  185.             //删除项确认
  186.                 System.out.println("即将删除的课程为:");
  187.                 System.out.println("编号\t课程名称\t是否是必修课\t授课教师\t学时\t学分");
  188.                 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);   
  189.                 System.out.println("确认  删除请输“1”,退出删除请输“0”:");
  190.                 if(sc.nextInt()==0){
  191.                     break;
  192.                 }
  193.             //进行删除
  194.                 KeCheng.remove(i);
  195.                 System.out.print("系统现存");
  196.                 manageNow.displayAllKeCheng(KeCheng);
  197.             //询问是否继续删除  
  198.                 System.out.println("继续  删除请输“1”,退出删除请输“0”:");
  199.                 if(sc.nextInt()==0){
  200.                     break;
  201.                 }
  202.             }
  203.         }   
  204.         return KeCheng;
  205.     }

  206. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-5-25 15:47:14 | 显示全部楼层
29行好像错误了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-7 16:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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