Java图书管理系统课程设计

这篇文章主要为大家详细介绍了Java图书管理系统课程设计,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了Java图书管理系统的具体代码,供大家参考,具体内容如下

大二上学期做的一个Java课程设计,总分为四个Java文件,AllBook,AllBorrow,AllStudent,Tushu。

本系统是一个面向图书馆的管理系统,具有一定的实用性。它主要完成了图书的基本操作功能,全校学生信息的相关基本操作,以及对图书的借阅归还管理。本系统采用当前流行的面向对象的JAVA语言开发工具eclipse来完成整个系统的设计。系统在设计过程中不可避免地遇到了各种各样的问题,由于整个系统完全都是由个人设计的,有关eclipse许多细节问题都要靠自己去摸索,加之本人水平有限,有很多的方面还不够完善,数据不能永久保留。希望在学习更多的知识之后能将系统做的更加完善,更加实用。

文件位置

AllBook

package tushuguan;

import java.io.Serializable;
import java.util.Scanner;

//------------------------图书信息的代码--------------------------
@SuppressWarnings("serial")
class Book implements Serializable{ //图书类
        String BookNo;              //编号
        String BookName;            //书名
        String BookAuthor;          //作者
        int zk;                              //是否在库
        int cs;                              //借阅次数
        showInfo info=new showInfo();        //借阅信息日常显示
    public Book(){                           //定义构造方法,初始化数据项
            BookNo="";
            BookName="";
            BookAuthor="";     
            zk=0;
            cs=0;
            }
        public String getBookNo(){
            return BookNo;
        }
        public String getBookName(){
            return BookName;
        }
        public String getBookAuthor(){
            return BookAuthor;
        }       
    //````````````````````````新增图书信息``````````````````````````
    public void inputBook(){                 //输入单个图书
        @SuppressWarnings({"resource" })
        Scanner in2=new Scanner(System.in);  
        System.out.print("请输入图书编号:");
        String s;
        s=in2.nextLine();
        int a;
        a=AllBook.queryBooByBookNo(s);
        while(a!=-1){                            //判断是否已有相同编号的图书存在
        System.out.print("该书籍已存在,请重新输入!\n");
        System.out.print("请输入图书编号:");
        s=in2.nextLine();
        a=AllBook.queryBooByBookNo(s);
        }
        BookNo=s;
        System.out.print("请输入图书名称:");
        BookName=in2.nextLine();
         System.out.print("请输入图书作者:");
        BookAuthor=in2.nextLine();
        zk=1;
        }          
    public void showBook(){                        //显示单个图书信息
    System.out.print("图书编号:"+BookNo+"\n图书名称:"+BookName+"\n图书作者:"+BookAuthor+"\n借阅次数:"+cs);
            if(zk==1)
                System.out.print("\n该图书:在库\n");
            else
                System.out.print("\n该图书: 不在库\n");
           }        
        }       
    @SuppressWarnings("serial")
public class AllBook  implements Serializable{      //所有图书集合类 
        static Book []Book=new Book[20];       //定义一个能存储20个图书的数组对象
        static int index=0;                                                  //用于存储当前已有图书的数量
    public  AllBook(){                     //初始化所有单元的图书信息;
        for(int i=0;i<Book.length;i++){
            Book[i]=new Book();
            }
    }
    //---------------输入多个图书信息--------------------
    public void inputAB(){                      
        int a=1;
        for(int i=index;i<Book.length;i++){
            if(a==1){
             System.out.print("下面录入第"+(index+1)+"本图书的信息:\n");
            Book[index].inputBook();
             index++;
             System.out.print("继续添加请按1,停止添加请按0:");
                int b;
                @SuppressWarnings("resource")
             Scanner in1=new Scanner(System.in);
                b=in1.nextInt();
               switch(b){
               case 0: a=0;break;
               default: break;
                        }
                    }
         }                
    }      
    //`````````````````````````浏览多个图书信息````````````````````````
    public void showAllBook(){//显示所有图书信息
        System.out.print("共有"+index+"本书");
            for(int i=0;i<index;i++){
                System.out.print("\n下面输出第"+(i+1)+"本书的信息:\n");
            Book[i].showBook();               
            }
            if(index==0){
                System.out.print("没有图书信息!");
            }
        }
    //**************************************
    public void queryByBookNo(){                 //1.按编号查询
            String a;
            @SuppressWarnings("resource")
            Scanner in2=new Scanner(System.in);
            System.out.print("请输入要查询的图书编号:");
            a=in2.nextLine();
            if(queryBooByBookNo(a)!=-1){
            System.out.print("该图书信息为:\n");
            Book[queryBooByBookNo(a)].showBook();
            }
            else                 
                System.out.print("该图书不存在!");    
               }
    public static int queryBooByBookNo(String s){//按编号查询,s为查询的图书编号;若找到,则返回该信息的位置,否则返回-1
            int flag=-1;
            for(int i=0;i<index;i++){
                if(s.equals(Book[i].BookNo)){
                    flag=i;break;
                }
            }
    return flag;
        }
    //****************************************        
    public void queryByBookName(){               //2.按名称查询
            String a;
            @SuppressWarnings("resource")
            Scanner in1=new Scanner(System.in);
            System.out.print("请输入要查询的图书名称:");
            a=in1.nextLine();
            if(queryBooByBookName(a)!=-1){
            System.out.print("该图书信息为:\n");
            Book[queryBooByBookName(a)].showBook();
            }
            else                 
                System.out.print("该图书不存在!");                   
               }
    public int queryBooByBookName(String s){      //按名称查询,s为查询的图书名称;若找到,则返回该信息的位置,否则返回-1
            int flag=-1;
            for(int i=0;i<index;i++){
                if(s.equals(Book[i].BookName)){
                    flag=i;break;
                }
            }
            return flag;
        }
    //*************************************
    public void queryByBookAuthor(){                 //3.按作者查询
            String a;
            @SuppressWarnings("resource")
        Scanner in1=new Scanner(System.in);
            System.out.print("请输入要查询的图书作者:");
            a=in1.nextLine();
            if(queryBooByBookAuthor(a)!=-1){
             System.out.print("该图书信息为:\n");
            Book[queryBooByBookAuthor(a)].showBook();
            }
            else                
                System.out.print("该图书不存在!");                 
               }
    public int queryBooByBookAuthor(String s){      //按作者查询,s为查询的图书作者;若找到,则返回该信息的位置,否则返回-1
            int flag=-1;
            for(int i=0;i<index;i++){
                if(s.equalsIgnoreCase(Book[i].BookAuthor)){
                    flag=i;break;
                }
            }
            return flag;
        }        
    //```````````````````````删除图书信息``````````````````````````
    public void deleteByBookNo(){                  //删除指定编号的图书信息
   String b;
   @SuppressWarnings("resource")
   Scanner in2=new Scanner(System.in);
   System.out.print("请输入要删除图书的编号");
   b=in2.nextLine();
    if (queryBooByBookNo(b)!=-1){                    //判断该图书是否存在
                  for(int i=queryBooByBookNo(b);i<index-1;i++){
                  Book[i]=Book[i+1];        
                  } 
                  System.out.print("删除成功!");
                  index--;
                  }
    else
        System.out.print("该图书不存在!");    
       }
    //```````````````````````修改图书信息``````````````````````````
        @SuppressWarnings("resource")
    public void reviseByBookNo(){                  // 按编号查找该图书并修改图书内容
        String b;
        int n;
    Scanner in2=new Scanner(System.in);
    Scanner in3=new Scanner(System.in);
    System.out.print("请输入要修改的图书编号");
    b=in3.nextLine();  
                      if(queryBooByBookNo(b)!=-1){         //判断该图书是否存在
                        int i=queryBooByBookNo(b);
                        System.out.println("请选择要修改的图书信息:");
                        System.out.println("1-修改图书编号");
                        System.out.println("2-修改图书名称");
                        System.out.println("3-修改图书作者");
                        System.out.println("4-修改所有信息");
                         n=in2.nextInt();
                         while(n<0||n>4){
                                System.out.print("该数字无效,请重新选择:");
                                n=in2.nextInt();}
                switch(n){
                case 1:{                            
                         System.out.println("请输入修改后的图书编号:");
                         Book[i].BookNo=in3.nextLine();    break;
                         }
                case 2:{
                        System.out.println("请输入修改后的图书名称:");
                        Book[i].BookName=in3.nextLine();break;
                         }
                case 3:{
                       System.out.println("请输入修改后的图书作者:");
                       Book[i].BookAuthor=in3.nextLine();break;
                         }
                case 4:{
                       System.out.println("请输入修改后的图书编号、图书名称 、图书作者:");
                       System.out.println("请输入修改后的图书编号:");
                       Book[i].BookNo=in3.nextLine();
                       System.out.println("请输入修改后的图书名称:");
                       Book[i].BookName=in3.nextLine();
                       System.out.println("请输入修改后的图书作者:");
                       Book[i].BookAuthor=in3.nextLine();
                }
                         } System.out.print("修改成功!");      
                }
                    else
                    System.out.print("该图书不存在!");
                }                          
     }  

AllBorrow

package tushuguan;

import java.io.Serializable;
import java.util.Scanner;
class showInfo {                 //定义一个借阅信息显示类
       String lendtime;            //借书日期
       String returntime;          //还书日期
       String lendStuNo;           //借书学生编号
       String lendStuName;         //借书学生姓名
       String lendStuClass;        //借书学生班级
       public showInfo(){          //定义构造方法,初始化数据项    
           lendtime="";                
           returntime="";
           lendStuNo="";
           lendStuName="";
           lendStuClass="";
       }
}
@SuppressWarnings("serial")
class Borrow implements Serializable{//借阅类
     static int BoCs;                //最大的借阅次数
     String StudentNo;
     String BookNo;
    public Borrow(){          //定义构造方法,初始化数据项            
             BoCs=0;
             StudentNo="";
             BookNo="";
            }
}
@SuppressWarnings("serial")
class AllBorrow  implements Serializable{//所有借阅类
        
    //-----------------显示借阅信息---------------     
    public void showlendInfo(String BookNo){
          int a=AllBook.queryBooByBookNo(BookNo);      //找到该编号对应的图书下标赋值给a
          System.out.print("\n该图书的借阅信息为:");         
          System.out.print("\n该借书学生学号为:"+AllBook.Book[a].info.lendStuNo);
          System.out.print("\n该借书学生姓名为:"+AllBook.Book[a].info.lendStuName);
          System.out.print("\n该借书学生班级为:"+AllBook.Book[a].info.lendStuClass);
          System.out.print("\n该图书的借出日期:"+AllBook.Book[a].info.lendtime);
         
     }
    //---------------显示归还信息------------------
    public void showlendReturn(String BookNo){
          int a=AllBook.queryBooByBookNo(BookNo);      //找到该编号对应的图书下标赋值给a
          System.out.print("\n该图书的归还信息为:");         
          System.out.print("\n该借书学生学号为:"+AllBook.Book[a].info.lendStuNo);
          System.out.print("\n该借书学生姓名为:"+AllBook.Book[a].info.lendStuName);
          System.out.print("\n该借书学生班级为:"+AllBook.Book[a].info.lendStuClass);
          System.out.print("\n该图书的借出日期:"+AllBook.Book[a].info.lendtime);
          System.out.print("\n该图书的归还日期:"+AllBook.Book[a].info.returntime);
     }
    //----------------------多本图书借阅----------------    
    @SuppressWarnings("resource")
    public void Alllend(){
         Scanner in1=new  Scanner(System.in);
         Scanner in2=new Scanner(System.in);
         int a=0,b=0;
         String StudentNo,BookNo,d;
         int c=1;
         System.out.print("请输入你的学号:");
            StudentNo=in1.nextLine();          
            b=AllStudent.queryStuByStudentNo(StudentNo);
            if(b!=-1){                 //判断该学生是否存在
                       System.out.print("登录成功!\n");
                       while(c==1){
                         System.out.print("请查询要借阅的图书\n");            
                         System.out.print("请输入该书编号:");        
                         BookNo=in1.nextLine();
                         a=AllBook.queryBooByBookNo(BookNo);
                         if(a!=-1){   //判断图书是否存在
                          if(AllBook.Book[a].zk==1){        //判断图书是否在库     
                          AllBook.Book[a].showBook();    
                          System.out.print("\n该图书在库,请填写借阅信息:");
                          AllBook.Book[a].zk=0;      //借出图书,将图书的在库信息修改为不在库
                          AllBook.Book[a].cs++;      //借出图书,该图书借阅次数加一
                          AllBook.Book[a].info.lendStuNo=AllStudent.Student[b].StudentNo;
                          AllBook.Book[a].info.lendStuName=AllStudent.Student[b].StudentName;
                          AllBook.Book[a].info.lendStuClass=AllStudent.Student[b].StudentClass;
                          System.out.print("\n请填写借出日期(xxxxxxxx):");
                          d=in1.nextLine();
                          while(d.length()!=8){     //判断日期格式是否正确
                              System.out.print("日期格式错误,请重新输入8个字符的借书日期(如20180101)");
                              System.out.print("\n请重新填写归还日期:");
                              d=in1.nextLine();
                        }
                         AllBook.Book[a].info.lendtime=d;
                         System.out.print("借阅成功!");
                         
                          }
                          else
                             System.out.print("图书不在库,借阅失败!");
                         }
                         else
                              System.out.print("图书不存在,借阅失败!");
                                      
                    System.out.print("\n是否继续借阅:1-是,0-否");          
                    c=in2.nextInt();
                    switch(c){
                        case 0: c=0;break;
                       default: break;
                               }
                 }
            }
            else
              System.out.print("该学生信息不存在!\n");      
            }     
    //---------------归还图书管理(单本)---------
    @SuppressWarnings("resource")
    public void returnBook(){
         Scanner in1=new Scanner(System.in);
         Scanner in2=new Scanner(System.in);
         System.out.print("请输入归还图书的编号:");
         String BookNo,b;
         BookNo=in1.nextLine();
         int a=AllBook.queryBooByBookNo(BookNo);
         if(a!=-1){
          if(AllBook.Book[a].zk==0){            
              System.out.print("\n请填写归还日期(xxxxxxxx):");
             b=in2.nextLine();
            if(b.length()!=8){   //判断日期格式
             while (b.length()!=8){        
                  System.out.print("归还日期出错!"); 
                  System.out.print("\n请重新填写归还日期,例如20180101:");
                  AllBook.Book[a].info.returntime=in2.nextLine();
            }}        
            else
              while(AllBook.Book[a].info.returntime.compareTo(AllBook.Book[a].info.lendtime)<=0){
              System.out.print("归还时间不对,请输入不小于借阅日期的日期");
              System.out.print("\n请重新填写归还日期:");
              AllBook.Book[a].info.returntime=in2.nextLine();
            }
            AllBook.Book[a].zk=1;
              System.out.print("归还成功!"); 
              showlendReturn(BookNo);}
          else
              System.out.print("该图书在库不需要归还!");
         }
         else
             System.out.print("不存在该图书!");         
     }      
      //--------------------多本图书归还-------------------
    @SuppressWarnings("resource")
    public void Allreturn(){
     int c=1;
     Scanner in1=new  Scanner(System.in);     
     while(c==1){
            returnBook(); 
            System.out.print("\n\n是否继续归还:1-是,0-否");          
            c=in1.nextInt();
            switch(c){
             case 0: c=0;break;
             case 1: break;
            default: break;
                    }
             }     
     }
    
    //----------------按借阅次数查询-------------------
    public int  findBoCs(){  //找到最大的借阅次数
     for(int i=0;i<AllBook.index;i++){
         if(Borrow.BoCs<AllBook.Book[i].cs){
             Borrow.BoCs=AllBook.Book[i].cs;
         }         
     }return Borrow.BoCs;
}
    public void findByTj(){   //按借阅次数查询
     int a= findBoCs();
     int c=0;
    System.out.print("最大借阅次数为"+a+",请输入要查询的借阅次数:");
    @SuppressWarnings("resource")
    Scanner in1=new Scanner(System.in);
    int b;
    b=in1.nextInt();    
    if(b<=a){
         System.out.print("\n借阅次数为"+b+"的图书信息如下:\n");
         for(int  i=0;i<AllBook.index;i++){
          if(AllBook.Book[i].cs==b){
            AllBook.Book[i].showBook();
             c++;
             }
          }
           if(c==0){
              System.out.print("\n不存在借阅次数为"+b+"的图书");
             }
          }
    else
    System.out.print("该借阅次数超过最大借阅次数!");
}
    
    //-------------------显示所有在库图书----------------
    public void showzkBook(){
        int c=0;
        System.out.print("所有在库的图书信息为:\n");
        for(int  i=0;i<AllBook.index;i++){
            if(AllBook.Book[i].zk==1){
                AllBook.Book[i].showBook();
                c++;
            }
        }
        if(c==0){
            System.out.print("无在库图书!");
        }
    }
    //-------------------显示所有不在库图书----------------
    public void showbzkBook(){
        int c=0;
        System.out.print("所有不在库的图书信息为:\n");
        for(int  i=0;i<AllBook.index;i++){
            if(AllBook.Book[i].zk==0){
                AllBook.Book[i].showBook();
                c++;
            }
        }
        if(c==0){
        System.out.print("无不在库图书!");
        }
    }  
    //----------------------图书查询管理----------------------
    public void findbook(){
     @SuppressWarnings("resource")
    Scanner in=new Scanner(System.in);
     String b;
     System.out.print("请输入要查找图书的编号:\n");
     b=in.nextLine();
     int a=AllBook.queryBooByBookNo(b);
    if(a!=-1){
      if(AllBook.Book[a].zk==1)             
          AllBook.Book[a].showBook();    
      else
          {
          AllBook.Book[a].showBook();
          showlendInfo(b);   }     
    }
    else
         System.out.print("图书不存在!");     
}
}

AllStudent

package tushuguan;

import java.io.Serializable;
import java.util.Scanner;
    @SuppressWarnings("serial")
class Student implements Serializable{ //学生类
           String StudentNo;    //学号
           String StudentName;  //书名
           String StudentClass; //班级
                
    public Student(){//定义构造方法,初始化数据项
               StudentNo="";
               StudentName="";
               StudentClass="";         
               }
           public String getStudentNo(){
               return StudentNo;
           }
           public String getStudentName(){
               return StudentName;
           }
           public String getStudentClass(){
               return StudentClass;
           }          
           //````````````````````````新增学生信息``````````````````````````
       public void inputStudent(){//输入单个学生
               @SuppressWarnings("resource")
            Scanner in2=new Scanner(System.in);
               System.out.print("请输入学生学号:");
               String s;
               s=in2.nextLine();
               int a;
            a=AllStudent.queryStuByStudentNo(s);
            while(a!=-1){         //判断是否已经存在该学号的学生
             System.out.print("该学生已存在,请重新输入!\n");
             System.out.print("请输入学生学号:");
             s=in2.nextLine();
             a=AllStudent.queryStuByStudentNo(s);
            }
            StudentNo=s;
               System.out.print("请输入学生名称:");
               StudentName=in2.nextLine();
               System.out.print("请输入学生班级:");
               StudentClass=in2.nextLine();              
           }

    public void showStudent(){//显示单个学生信息
               System.out.print("学生学号:"+StudentNo+"\n学生名称:"+StudentName+"\n学生班级:"+StudentClass);
       
           }        
       }       
    @SuppressWarnings("serial")
public class AllStudent implements Serializable{                      //所有学生集合类 
           static Student []Student=new Student[20];                     //定义一个能存储20个学生的数组对象
           static int index=0;                                                  //用于存储当前已有学生的数量
           public  AllStudent(){                                        //初始化所有单元的学生信息;
            for(int i=0;i<Student.length;i++){
               Student[i]=new Student();
               }
           }
       //----------------输入多个学生信息---------------
       public void inputAS(){
            int a=1;
               for(int i=index;i<Student.length;i++){
               if(a==1){
                  System.out.print("下面录入第"+(index+1)+"个学生的信息:\n");
                Student[i].inputStudent();
                index++;
                System.out.print("继续添加请按1,停止添加请按0:");
                   int b;
                   @SuppressWarnings("resource")
                Scanner in1=new Scanner(System.in);
                   b=in1.nextInt();
                   switch(b){
                   case 0: a=0;break;
                   default: break;
                               }
                       }
            }               
       }    
       //`````````````````````````浏览学生信息````````````````````````
       public void showAllStudent(){//显示所有学生信息
               for(int i=0;i<index;i++){
                   System.out.print("\n下面输出第"+(i+1)+"个学生的信息:\n");
                Student[i].showStudent();             
                }
               if(index==0){
                   System.out.print("没有学生信息!");
               }
           } 
           @SuppressWarnings("resource")
    public void queryByStudentNo(){                 //1.按学号查询
               String a;
               int c;
               Scanner in1=new Scanner(System.in);
               System.out.print("请输入要查询的学生编号:");
               a=in1.nextLine();
               c=queryStuByStudentNo(a);
               if(c!=-1){
                System.out.print("该学生信息为:\n");
             Student[queryStuByStudentNo(a)].showStudent();
               }
               else                  
                   System.out.print("该学生不存在!");                
                  }
       public static int queryStuByStudentNo(String s){//按学号查询,s为查询的学生学号;若找到,则返回该信息的位置,否则返回-1
               int flag=-1;
               for(int i=0;i<index;i++){
                   if(s.equalsIgnoreCase(Student[i].StudentNo)){
                       flag=i;break;
                   }
               }
               return flag;
           }
    //*******************************************
           @SuppressWarnings("resource")
    public void queryByStudentName(){                 //2.按名字查询
               String a;
               Scanner in1=new Scanner(System.in);
               System.out.print("请输入要查询的学生名字:");
               a=in1.nextLine();
               if(queryStuByStudentName(a)!=-1){
                System.out.print("该学生信息为:\n");
              Student[queryStuByStudentName(a)].showStudent();
               }
               else            
                   System.out.print("该学生不存在!");    
               
                  }
       public int queryStuByStudentName(String s){       //按名字查询,s为查询的学生名字;若找到,则返回该信息的位置,否则返回-1
               int flag=-1;
               for(int i=0;i<index;i++){
                   if(s.equalsIgnoreCase(Student[i].StudentName)){
                       flag=i;break;
                   }
                   else
                       continue;
               }
               return flag;
           }
       //*******************************************
           @SuppressWarnings("resource")
    public void queryByStudentClass(){                 //3.按班级查询
               String a;
               Scanner in1=new Scanner(System.in);
               System.out.print("请输入要查询的学生班级:");
               a=in1.nextLine();
               if(queryStuByStudentClass(a)!=-1){
                System.out.print("该学生信息为:\n");
              Student[queryStuByStudentClass(a)].showStudent();
               }
               else                 
                   System.out.print("该学生不存在!");                   
                  }
       public int queryStuByStudentClass(String s){         //按班级查询,s为查询的学生班级;若找到,则返回该信息的位置,否则返回-1
               int flag=-1;
               for(int i=0;i<index;i++){
                   if(s.equalsIgnoreCase(Student[i].StudentClass)){
                       flag=i;break;
                   }
                   else
                       continue;
               }
               return flag;
           }         
       //```````````````````````删除学生信息``````````````````````````
        @SuppressWarnings("resource")
    public void deleteByStudentNo(){                  //删除指定学号的学生信息
         String b;
         Scanner in2=new Scanner(System.in);
         System.out.print("请输入要删除学生的学号");
         b=in2.nextLine();
          if (queryStuByStudentNo(b)!=-1){
                        for(int i=queryStuByStudentNo(b);i<index;i++){
                        Student[i]=Student[i+1];
                                              }
                          index--;
                        System.out.print("删除成功!");
                        }
          else
              System.out.print("该学生不存在!");    
            }      
       //```````````````````````修改学生信息``````````````````````````
     @SuppressWarnings("resource")
    public void reviseByStudentNo(){          // 按编号查找该图书并修改图书内容
            String b;
            int n;
         Scanner in2=new Scanner(System.in);
         Scanner in3=new Scanner(System.in);
         System.out.print("请输入要修改的学生编号:");
         b=in2.nextLine();      
                        if(queryStuByStudentNo(b)!=-1){        
                          int i=queryStuByStudentNo(b);
                          System.out.println("请选择要修改的学生信息:");
                          System.out.println("1-修改学生学号");
                          System.out.println("2-修改学生姓名");
                          System.out.println("3-修改学生班级");
                          System.out.println("4-修改所有信息");
                           n=in2.nextInt();
                          while(n<0||n>4){
                              System.out.print("该数字无效,请重新选择:");
                              n=in2.nextInt();}
                           switch(n){
                  case 1:{                              
                          System.out.println("请输入修改后的学生学号:");
                          Student[i].StudentNo=in3.nextLine();    break;
                           }
                  case 2:{
                          System.out.println("请输入修改后的学生姓名:");
                          Student[i].StudentName=in3.nextLine();break;
                           }
                  case 3:{
                          System.out.println("请输入修改后的学生班级:");
                          Student[i].StudentClass=in3.nextLine();break;
                              }
                  case 4:{
                          System.out.println("请输入修改后的学生学号、姓名、班级:");
                          System.out.println("请输入修改后的学生学号:");
                          Student[i].StudentNo=in3.nextLine();
                          System.out.println("请输入修改后的学生姓名:");
                        Student[i].StudentName=in3.nextLine();
                        System.out.println("请输入修改后的学生班级:");
                          Student[i].StudentClass=in3.nextLine();
                  }
                           } System.out.print("修改成功!");      
                  }
                      else
                      System.out.print("该学生不存在!");
                  }                            
    }

Tushu

package tushuguan;

import java.io.Serializable;
import java.util.Scanner;    
    @SuppressWarnings("unused")
class Menu{//菜单类
        AllBook Book=new AllBook();
        AllStudent Student=new AllStudent();
        AllBorrow Borrow= new AllBorrow(); 
        
        public void showMenu(){//主菜单部分
               System.out.println("******系部图书成绩管理系统*******");
               System.out.println("**     1.图书信息管理                   **");
               System.out.println("**     2.学生信息管理                   **");
               System.out.println("**     3.借阅信息管理                   **");
               System.out.println("**     0.退出总管理系统                **");
               System.out.println("***************************");
               System.out.println("请选择: ");
               selectMenu();
           }
           public void selectMenu(){//选择主菜单部分
               @SuppressWarnings("resource")
            Scanner in1=new Scanner(System.in);
               int a;
               a=in1.nextInt();
               while(a<0||a>3){
                   System.out.print("该数字无效,请重新选择:");
                   a=in1.nextInt();
               }
               switch (a){
               case 1:{showMBook();break;}
               case 2:{showMStudent();break;}
               case 3:{showMBorrow();break;}
             case 0:{System.out.print("******感谢您的使用!******");}
               }
           }     
      //-------------------------图书信息管理目录----------------------------- 
           public void showMBook(){//图书信息管理目录     
               System.out.println("\n*******图书信息管理目录******");
               System.out.println("**       1.新增                            **");
               System.out.println("**       2.查询                            **");
               System.out.println("**       3.删除                            **");
              System.out.println("**       4.浏览                            **");
              System.out.println("**       5.修改                            **");
               System.out.println("**       6.返回上一菜单              **");
               System.out.println("**       0.退出总管理系统          **");
               System.out.println("************************************");
               System.out.println("请选择:");
               selectMBook();
           }
           public void selectMBook(){//选择图书目录
               @SuppressWarnings("resource")
            Scanner in1=new Scanner(System.in);
               int b;
               b=in1.nextInt();
               while(b>6||b<0){
                   System.out.print("该数字无效,请重新选择:");
                   b=in1.nextInt();
               }
               switch (b){
               case 1:{
                                   Book.inputAB();                  //新增图书信息
                                   System.out.print("\n完成图书信息新增操作.\n");
                                   showMBook();break;}
               case 2:{                                            
                                  
                                findBook();                 //查找图书信息
                                   System.out.print("\n完成图书信息查询操作.\n");
                                   showMBook();break;}
           
               case 3:{                                             
                                  Book.deleteByBookNo();           //删除图书信息
                                  System.out.print("\n完成图书信息删除操作.\n");
                                  showMBook();break;}
               case 4:{                                              
                                  Book.showAllBook();              //浏览图书信息                                   
                                  System.out.print("\n完成图书信息浏览操作.\n");
                                  showMBook();break;}
               case 5:{                                             
                                  Book.reviseByBookNo();        //修改图书信息
                                  System.out.print("\n完成图书信息修改操作.\n");
                                  showMBook();break;}
               case 6:{                                            
                                  showMenu();}                         //返回上一界面
               
               case 0:{           System.out.print("\n******感谢您的使用!******");System.exit(0);}      
           }       
       }
      //`````````````````````````查询图书信息````````````````````````
        public void findBook(){
               System.out.print("\n请选择查找图书方式:\n");
               System.out.println("*******查找图书方式******");
               System.out.println("**       1.按图书编号查找                 **");
               System.out.println("**       2.按图书名称查找                 **");
               System.out.println("**       3.按图书作者查找                 **");
               System.out.println("**       0.返回上一菜单                     **");
               @SuppressWarnings("resource")
              Scanner in2=new Scanner(System.in);
                       int c;
                      c=in2.nextInt();
                      while(c<0||c>3){
                             System.out.print("该数字无效,请重新选择:");
                             c=in2.nextInt();}
                      switch(c){
                      case 1:{
                          Book.queryByBookNo();break;        //按编号查询图书信息
                                     }
                      case 2:{
                          Book.queryByBookName(); break;     //按书名查询图书信息
                                    }
                      case 3:{
                          Book.queryByBookAuthor(); break;   //按作者查询图书信息
                                     }
                      case 0:{   
                             showMBook();}}
            }
      //-------------------------学生信息管理目录-----------------------------
        public void showMStudent(){//学生信息管理目录       
           System.out.println("\n*******学生信息管理目录******");
           System.out.println("**       1.新增                        **");
           System.out.println("**       2.查询                        **");
           System.out.println("**       3.删除                        **");
          System.out.println("**       4.浏览                        **");
          System.out.println("**       5.修改                        **");
           System.out.println("**       6.返回上一菜单          **");
           System.out.println("**       0.退出总管理系统       **");
           System.out.println("*************************");
           System.out.println("请选择:");
           selectMStudent();
       }
         public void selectMStudent(){//选择学生目录
           @SuppressWarnings("resource")
        Scanner in1=new Scanner(System.in);
           int b;
           b=in1.nextInt();     
           while(b<0||b>6){
               System.out.print("该数字无效,请重新选择:");
               b=in1.nextInt();
           }
           switch (b){
           case 1:{
                             Student.inputAS();               //新增学生信息
                             System.out.print("\n完成学生信息新增操作\n");
                             showMStudent();break;}
           case 2:{
                             findStudent();           //查找学生信息
                             System.out.print("\n完成学生信息查询操作\n");
                             showMStudent();break;}
       
           case 3:{                                                                                       
                             Student.deleteByStudentNo();       //删除学生信息                                                 
                             System.out.print("\n完成学生信息删除操作\n");
                             showMStudent();break;}
           case 4:{
                             Student.showAllStudent();     //浏览学生信息                                           
                             System.out.print("\n完成学生信息浏览操作\n");
                             showMStudent();break;}
           case 5:{                                                                                                    
                             Student.reviseByStudentNo();//修改图书信息
                             System.out.print("\n完成学生信息修改操作\n");
                          showMStudent();break;}
           case 6:{
                             showMenu();    }                      //返回主菜单
           
           case 0:{          System.out.print("\n******感谢您的使用!******");System.exit(0);}
       
       }      
   }
        //`````````````````````````查询学生信息````````````````````````
           @SuppressWarnings("resource")
    public void findStudent(){
                  System.out.print("\n请选择查找学生方式:\n");
               System.out.println("***********查找学生方式**********");
               System.out.println("**       1.按学生学号查找                 **");
               System.out.println("**       2.按学生名称查找                 **");
               System.out.println("**       3.按学生班级查找                 **");
               System.out.println("**       0.返回上一菜单                      **");
               Scanner in2=new Scanner(System.in);
               int c;
               c=in2.nextInt();
               while(c<0||c>3){
                   System.out.print("该数字无效,请重新选择:");
                   c=in2.nextInt();}
      switch(c){
                  case 1:{
                        Student.queryByStudentNo();break;      //按学号查询学生信息
                                    }
                  case 2:{
                        Student.queryByStudentName(); break;   //按姓名查询学生信息
                                   }
                  case 3:{
                       Student.queryByStudentClass(); break;   //按班级查询学生信息
                                   }
                  case 0:{ showMStudent();}
               }                   
           }
      //-------------------------图书借阅信息管理目录-----------------------------
        public void showMBorrow(){
        System.out.println("\n*******借阅图书信息管理目录*****");
        System.out.println("**       1.图书借阅管理                **");
        System.out.println("**       2.图书归还管理                **");        
           System.out.println("**       3.图书查询管理                **");
           System.out.println("**       4.统计查询管理                **");        
           System.out.println("**       5.返回上一菜单                **");
           System.out.println("**       0.退出总管理系统             **");
           System.out.println("**********************************");
           System.out.println("请选择:");
           selectMBorrow();
       }
        public void selectMBorrow(){//选择图书目录
           @SuppressWarnings("resource")
        Scanner in1=new Scanner(System.in);
           int b;
           b=in1.nextInt();
           while(b<0||b>5){
               System.out.print("该数字无效,请重新选择:");
               b=in1.nextInt();}
           switch(b){
           case 1:{ 
                   Borrow.Alllend();          //图书借阅管理
                   System.out.print("\n完成图书借阅操作\n");
                showMBorrow();break;                            
           }
           case 2:{
                   Borrow.Allreturn();       //图书归还管理
                System.out.print("\n完成图书借阅操作\n");
                showMBorrow();break;      
           }          
           case 3:{
                   Borrow.findbook();       //图书查询管理
                   System.out.print("\n完成图书查询操作\n");
                showMBorrow();break;  
           }
           case 4:{
               TjfindBook();     //统计查询管理
               System.out.print("\n完成图书统计查询操作\n");
               showMBorrow();break;      
        }
           case 5:{   showMenu();      }     //返回主菜单
           case 0:{   System.out.print("\n******感谢您的使用!******");System.exit(0);}          
           }
        }
    //-------------------统计查询管理--------------------------
    public void TjfindBook(){
     System.out.println("请选择统计查询的方式:\n");
     System.out.println("1-按借阅次数查询");
     System.out.println("2-按在库与否查询");
     System.out.println("0-返回上一菜单  ");
     @SuppressWarnings("resource")     
     Scanner in1 =new Scanner(System.in);
     int a;
     a=in1.nextInt();
     while(a<0||a>3){
            System.out.print("该数字无效,请重新选择:");
            a=in1.nextInt();}
     switch(a){
     case 1:{
                   Borrow.findByTj();      //按借阅次数查询
                   System.out.print("\n完成统计查询图书操作\n");
                   showMBorrow();break;
                                 }
     case 2:{
                   findByzk();            //按是否在库查询
                   System.out.print("\n完成统计查询图书操作\n");
                   showMBorrow();break;
                                  }
     case 0:{      showMBorrow();}  //返回上一菜单
     }}
    //--------------按是否在库查询图书----------------------
    public void findByzk(){
             System.out.print("请选择在库模式查询:\n");
             System.out.println("1-显示所有在库图书");
             System.out.println("2-显示所有不在库图书");
             System.out.println("0-返回上一菜单");      
             @SuppressWarnings("resource")
             Scanner in1 =new Scanner(System.in);
             int a;
             a=in1.nextInt();
             while(a<0||a>3){
                    System.out.print("该数字无效,请重新选择:");
                    a=in1.nextInt();}
             switch(a){
             case 1:{
                  Borrow.showzkBook();break;  //显示所有在库图书
             }
             case 2:{
                  Borrow.showbzkBook();break;  //显示所有不在库图书
             }
             case 0:{ showMBorrow();}
             }
        }
}
public class Tushu{
    public static void main(String []args){
        Menu menu =new Menu();
        menu.showMenu();
    }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程学习网。

本文标题为:Java图书管理系统课程设计

基础教程推荐