如何用Java代码实现图书管理系统
发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,这篇文章主要介绍"如何用Java代码实现图书管理系统",在日常操作中,相信很多人在如何用Java代码实现图书管理系统问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如何用
千家信息网最后更新 2025年02月04日如何用Java代码实现图书管理系统
这篇文章主要介绍"如何用Java代码实现图书管理系统",在日常操作中,相信很多人在如何用Java代码实现图书管理系统问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如何用Java代码实现图书管理系统"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
文件位置
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;i4){ 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;iAllStudent
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;i4){ 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代码实现图书管理系统"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
图书
信息
学生
查询
输入
借阅
管理
选择
学号
日期
班级
次数
名称
作者
菜单
目录
数字
上一
浏览
成功
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
服务器银河
sql数据库简单命令
160CPU服务器
数据库给表的元祖添加数据
电脑服务器连接不上网怎么办
数据库的技术的根本目标
学软件开发比较好的专科学校
初中生能学软件开发吗
购买服务器订单处理需要多少时间
计算机网络技术要提前学什么
笔记本电脑软件开发哪款好
网络安全微课程设计
淮安工程软件开发
高级别专家数据库
草莓互联网科技
巨杉数据库中标
王牌战争服务器描述错误
北京信息化软件开发服务推广
软件开发 好的大学排名
网络安全esapi 说明文档
paypal服务器在哪
分布式数据库系统及其应用题目
网络安全大赛是什么视频
nodejs读取数据库文件
停止mysql数据库
swap服务器管理系统
dota2协调服务器总是连不上
京东黄金眼软件开发工程师
关于网络安全心里漫画
基于网络技术的应用