Java实验报告之图书管理系统
图书管理系统java课程设计报告
图书管理系统java课程设计报告一、教学目标本课程旨在通过学习Java语言实现图书管理系统,使学生掌握Java编程的基本语法和面向对象编程思想,具备运用Java语言解决实际问题的能力。
具体目标如下:1.知识目标:–掌握Java基本语法和数据结构;–理解面向对象编程的基本概念和方法;–熟悉图书管理系统的业务流程和设计方法。
2.技能目标:–能够使用Java编写简单的程序;–能够运用面向对象编程思想进行程序设计;–能够独立完成图书管理系统的开发和调试。
3.情感态度价值观目标:–培养学生的团队合作意识和沟通能力;–培养学生的问题解决能力和创新精神;–培养学生的自主学习能力和持续进步意识。
二、教学内容本课程的教学内容主要包括Java基本语法、数据结构、面向对象编程思想和图书管理系统的设计与实现。
具体安排如下:1.Java基本语法:介绍Java语言的基本元素、运算符、控制结构等;2.数据结构:讲解数组、链表、栈和队列等基本数据结构的使用和实现;3.面向对象编程:讲解类和对象、继承和多态、封装等基本概念和应用;4.图书管理系统:介绍图书管理系统的业务需求、设计方法和实现技巧。
三、教学方法本课程采用讲授法、案例分析法和实验法等多种教学方法,以激发学生的学习兴趣和主动性。
1.讲授法:通过讲解基本概念、原理和方法,使学生掌握相关知识;2.案例分析法:通过分析实际案例,使学生理解图书管理系统的业务流程和设计方法;3.实验法:通过动手实践,使学生熟悉Java编程环境和开发工具,提高编程能力。
四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备等。
1.教材:选用权威、实用的Java编程教材,如《Java核心技术》等;2.参考书:提供相关的Java编程参考书籍,如《Java编程思想》等;3.多媒体资料:制作课件、视频等多媒体教学资料,以便学生随时复习和巩固知识;4.实验设备:提供计算机、网络等实验设备,确保学生能够进行实验和实践。
Java实验报告之图书管理系统
Java实验报告图书管理系统1.管理员界面<<密码验证<<展示所有图书<<查找图书<<添加书籍<<删除书籍<<修改密码<<返回上一层<<结束2.学生界面<<身份识别<<查找图书<<借阅图书<<归还书籍<<返回上一层<<结束3.退出程序源代码:Main.javapackage pany;import java.util.Date;import java.util.Scanner;public class Main {public static void main(String[] args) {// write your code hereUser U;Library L=new Library("东北大学图书馆");System.out.println("欢迎来到东北大学图书馆");Book b1=new Book("java编程思想","sdhf","554532",new Date(2016,12,13),15); Book b2=new Book("C++编程","nimei","15654",new Date(2017,5,13),5);Students s1=new Undergraduate("黎明","20175821");Students s2=new Master("狭隘","20164545");b1.BookUser.add(s2);b1.BookUser.add(s1);b2.BookUser.add(s2);b2.BookUser.add(s1);L.addBook(b1);L.addBook(b2);//在以上的代码中都是为了增加图书馆中的藏书Scanner sc=new Scanner(System.in);String order;//命令操作板while(true){System.out.println("命令操作符\n<<AccessADInterface\n<<AccessSTInterface\n<<over");System.out.print("<<");order=sc.next();if(order.equals("AccessADInterface")){Administrators A=new Administrators();if (A.getPassWord() == 1){while(true) {System.out.println("命令操作符\n<<ShowAllBook\n<<SearchBook\n<<AddBook\n<<DeleteBook\n<<ChangePassWord\n<<GoBack\n<<over" );System.out.print("<<");order = sc.next();if (order.equals("ShowAllBook")) {L.ShowBook();} else if (order .equals( "SearchBook")) {L.ShowBook(L.SearchBook());} else if (order.equals( "AddBook") ){L.addBook();} else if (order .equals( "DeleteBook")) {L.DeleteBook();} else if(order.equals("ChangePassWord")){A.changePassWord();} else if (order .equals( "GoBack")) {break;} else if (order .equals( "over")) {System.out.println("已退出图书管理系统");System.exit(0);}}}else{System.exit(0);}} else if(order.equals("AccessSTInterface")){U=erComing();while (true){System.out.println("<<SearchBook\n<<BorrowBook\n<<ReturnBook\n<<GoBack\n<<over"); System.out.print("<<");order=sc.next();if(order.equals("SearchBook")) {L.ShowBook(L.SearchBook());}else if(order.equals("BorrowBook")){L.SearchBook().BookBorrow(U);}else if(order.equals("ReturnBook")){L.ReturnBook(U);}else if(order.equals("GoBack")){break;}}}else if(order.equals("over")){System.out.println("已退出图书管理系统");System.exit(0);}else {System.out.println("输入了错误的指令");continue;}}}}Library.javapackage pany;import java.util.Scanner;import java.util.Vector;public class Library {public static final int OK=1;public static final int ERROR=1;Vector<Object> book= new Vector();//用来存储书类丹书类中也存有用户类private String Libraryname;Scanner sc=new Scanner(System.in);Library (String name){this.Libraryname=name;}public User UserComing() {int kind;User U;Scanner sc = new Scanner(System.in);System.out.println("如果你是老师请输入1,若是学生请输入2");while (true) {while(true){kind = sc.nextInt();if (kind == 1) {U = new Teacher();return U;} else if (kind == 2) {System.out.println("如果你是本科生请输入1,若是硕士研究生请输入2");while (true){kind=sc.nextInt();if(kind==1){U = new Undergraduate();return U;}else if(kind==2){U=new Master();return U;}else{System.out.println("输入错误");break;}}} else {System.out.println("输入错误");System.out.println("请重新输入:");break;}}}}public void addBook(Book b){book.add(b);}public void addBook(){int i;i=1;Book b;while(i==1){b=new Book();this.addBook(b);System.out.println("如果要继续输入书本信息就输入1,否则就输入2"); i=sc.nextInt();}}public Book SearchBook(){String BookName;Book b;System.out.println("请输入你要借查询的书");BookName=sc.next();for(int i=0;i<this.book.size();i++){b=(Book)this.book.elementAt(i);if(b.bookName.equals(BookName)){return b;}}return null;}public void ReturnBook(User U){User u;Book b;b=this.SearchBook();for(int i=0;i<b.BookUser.size();i++){u=(User) b.BookUser.elementAt(i);if(u==U){U.numBookBor--;b.BookUser.remove(i);b.surplus++;System.out.println("还书成功");return;}else {System.out.println("您不是这本书的借阅者,不能还书");return;}}System.out.println("找不到你要的书");}public void DeleteBook(){String BookName;Book b;System.out.println("请输入你要删除的书");BookName=sc.next();for(int i=0;i<this.book.size();i++){b=(Book)this.book.elementAt(i);if(b.bookName.equals(BookName)){if(b.BookUser.size()==0){this.book.remove(i);System.out.println("已经成功的删除书籍");}else {System.out.println("还有人尚未还书,不能够删除书籍");}}}}public void ShowBook(){Book b;for(int i=0;i<this.book.size();i++){b=(Book)book.elementAt(i);System.out.println((i+1)+"\t"+b.bookName+"\t"+b.auther+"\t"+b.bookNum+"\t"+b.depositTime.ge tYear()+"\t"+b.depositTime.getMonth()+"\t"+b.depositTime.getDay()+"\t"+b.surplus);}}public void ShowBook(Book b){System.out.println("\t"+b.bookName+"\t"+b.auther+"\t"+b.bookNum+"\t"+b.depositTime.getYear( )+"\t"+b.depositTime.getMonth()+"\t"+b.depositTime.getDay()+"\t"+b.surplus);}}Book.javapackage pany;import java.util.Scanner;import java.util.Vector;public class Library {public static final int OK=1;public static final int ERROR=1;Vector<Object> book= new Vector();//用来存储书类丹书类中也存有用户类private String Libraryname;Scanner sc=new Scanner(System.in);Library (String name){this.Libraryname=name;}public User UserComing() {int kind;User U;Scanner sc = new Scanner(System.in);System.out.println("如果你是老师请输入1,若是学生请输入2");while (true) {while(true){kind = sc.nextInt();if (kind == 1) {U = new Teacher();return U;} else if (kind == 2) {System.out.println("如果你是本科生请输入1,若是硕士研究生请输入2");while (true){kind=sc.nextInt();if(kind==1){U = new Undergraduate();return U;}else if(kind==2){U=new Master();return U;}else{System.out.println("输入错误");break;}}} else {System.out.println("输入错误");System.out.println("请重新输入:");break;}}}}public void addBook(Book b){book.add(b);}public void addBook(){int i;i=1;Book b;while(i==1){b=new Book();this.addBook(b);System.out.println("如果要继续输入书本信息就输入1,否则就输入2"); i=sc.nextInt();}}public Book SearchBook(){String BookName;Book b;System.out.println("请输入你要借查询的书");BookName=sc.next();for(int i=0;i<this.book.size();i++){b=(Book)this.book.elementAt(i);if(b.bookName.equals(BookName)){return b;}}return null;}public void ReturnBook(User U){User u;Book b;b=this.SearchBook();for(int i=0;i<b.BookUser.size();i++){u=(User) b.BookUser.elementAt(i);if(u==U){U.numBookBor--;b.BookUser.remove(i);b.surplus++;System.out.println("还书成功");return;}else {System.out.println("您不是这本书的借阅者,不能还书");return;}}System.out.println("找不到你要的书");}public void DeleteBook(){String BookName;Book b;System.out.println("请输入你要删除的书");BookName=sc.next();for(int i=0;i<this.book.size();i++){b=(Book)this.book.elementAt(i);if(b.bookName.equals(BookName)){if(b.BookUser.size()==0){this.book.remove(i);System.out.println("已经成功的删除书籍");}else {System.out.println("还有人尚未还书,不能够删除书籍");}}}}public void ShowBook(){Book b;for(int i=0;i<this.book.size();i++){b=(Book)book.elementAt(i);System.out.println((i+1)+"\t"+b.bookName+"\t"+b.auther+"\t"+b.bookNum+"\t"+b.depositTime.ge tYear()+"\t"+b.depositTime.getMonth()+"\t"+b.depositTime.getDay()+"\t"+b.surplus);}}public void ShowBook(Book b){System.out.println("\t"+b.bookName+"\t"+b.auther+"\t"+b.bookNum+"\t"+b.depositTime.getYear( )+"\t"+b.depositTime.getMonth()+"\t"+b.depositTime.getDay()+"\t"+b.surplus);}}User.javapackage pany;import java.util.Date;import java.util.Scanner;class User{public String name;public int numBookBor;//借书的数量//public Date borrowTime;public String Id;public Scanner sc=new Scanner(System.in); User(){}}class Students extends User{}//想想其实也不过如此class Undergraduate extends Students{Undergraduate(String sName,String id){=sName;this.Id=id;}Undergraduate(){System.out.println("请输入你的姓名:");=sc.next();System.out.println("请输入你的学号:");this.Id=sc.next();this.numBookBor=0;}}class Master extends Students{Master(String sName,String id){=sName;this.Id=id;}Master(){System.out.println("请输入你的姓名:");=sc.next();System.out.println("请输入你的学号:");this.Id=sc.next();this.numBookBor=0;}}class Teacher extends User{Teacher(String tName,String id){=tName;this.Id=id;}Teacher(){System.out.println("请输入你的姓名:");=sc.next();System.out.println("请输入你的工号:");this.Id=sc.next();this.numBookBor=0;}}Administrators/javapackage pany;import java.util.Scanner;public class Administrators {; private String passWod;Scanner sc=new Scanner(System.in);Administrators(){this.passWod="neu123";}public int getPassWord(){String passWord;for(int i=0;i<3;i++){System.out.println("请输入密码:");System.out.print("<<");passWord=sc.next();if( passWord.equals(this.passWod)){return 1;}else {System.out.println("密码错误,您还有"+(2-i)+"机会"); }}return 0;}public void changePassWord(){String passWord;for(int i=0;i<3;i++){System.out.println("请输入原密码:\n<<");passWord=sc.next();if( passWord.equals(this.passWod)){System.out.println("请输入新密码:\n<<");this.passWod=sc.next();break;}else {System.out.println("密码错误,您还有"+(2-i)+"机会"); }}}}欢迎您的下载,资料仅供参考!致力为企业和个人提供合同协议,策划案计划书,学习资料等等打造全网一站式需求。
JAVA图书管理系统开发实训报告
《JAVA图书管理系统开发》实训报告课程名称:JAVA 图书管理系统开发专业:计算机应用技术班级:ZB10001学号:姓名:成绩:计算机学院二〇一二年三月五日目录一、程序设计目的通过项目驱动的学习和综合实训,熟练掌握运用Java语言进行桌面应用程序开发的基本知识和技能;熟练掌握JAVA的基本语法与JDBC数据库技术的应用;进一步熟悉SQL Server数据库的数据库管理(数据库的创建、备份与恢复、函数与存储过程的应用、数据导入导出、作业的调度等)、表的设计(表的创建、修改、删除,字段的默认值、约束及关系等)、数据的查询处理(insert、update、delete、select语句的应用)等技术;并能结合数据库应用技术和软件工程技术进行桌面应用程序的开发,能基本胜任Java桌面开发程序员的岗位。
二、程序设计题目描述和要求图书管理系统,是一个由人、计算机等组成的能进行管理信息的收集、传递、加工、保存、维护和使用的系统。
其功能一般包括:图书信息管理、用户信息管理、图书借阅、图书归还、违约与毁坏赔偿、图书借还查询等等。
三、程序设计报告内容系统需求分析以我校实际情况为基础,对于图书馆图书管理设计一个适合于学校图书馆使用的图书管理系统。
还可以为学校领导提供图书的库存和图书流通量的查询。
该系统需要完成对图书类别管理、统计管理、库存管理、用户信息管理、图书借阅管理、图书归还管理、超期与损毁赔偿管理、图书借还查询管理、图书出入库和统计查询等。
功能需求描述(1)、图书管理:对图书进行分类存储(计算机、机械、建筑、文学、心理、艺术、经济、历史、地理、其它)。
在入库和出库的时候按图书类别进行管理。
可对现有图书信息信息进行管理(查询、修改)。
(2)、库存信息管理:对于图书出库图书登记和入库图书登记。
(3)、用户信息管理:可以实现对不同用户进行添加、查询、删除和修改,并给与不同用户不同权限。
(4)、图书借阅管理:对于图书借阅信息的登记(书名、图书编号、馆藏、借书日期、借期、应还日期)、对现有图书库存减少、对图书借阅人信息进行登记(姓名/学号、本次借阅册数、图书编号)。
图书管理系统Java设计报告
二、实习报告图3-3 系统后台功能图3.2 开发工具及运行环境3.2.1.运行环境:JDK(Java SE Development Kit),Java标准开发平台,它提供了编译、运行Java程序所需的各种工具和资源,包括Java编译器、Java运行时环境,以及执行时需要的函数库、与C连接时所需的文件及一些Java应用程序范例等,在配置过程中设置环境变量,新建jdk安装的主目录,编辑PATH,在最后添加;%JAVA_HOME%/bin,然后打开控制台上面输入java,javac等命令,查看jdk的路径,测试环境变量。
Tomcat:Tomcat 服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。
配置本地 Tomcat,点击 Edit Configurations,选择Templates -> Tomcat Server -> Local,编辑好模板后,再点击"+”按钮,再选择Tomcat Server -> Local。
选择 TomEE Server 或者 Tomcat Server 都可以。
然后配置 Tomcat 的名称以及配置应用服务器的位置,根据自Tomcat 的安装位置决定。
其它位置使用默认值(设置要启动的浏览器以及端口号),接着点击部署【Deployment】->点击+ ->【Artifact】;选择应用后再点回【Server】选项卡,此时:这样我们的模板就配置好了,接下来,我们点击"+"按钮,再选择Tomcat Server -> Local,直接使用我们新建配置好的模板即可。
3.2.2.开发工具:IDEA,全称 IntelliJ IDEA,是 Java 语言的集成开发环境,IDEA 在业界被公认为是最好的 java 开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE 支持、Ant、JUnit、CVS 整合、代码审查、创新的 GUI 设计等方面的功能可以说是超常的。
图书管理系统java课程设计报告报告
大学信息工程学院《Java实训》报告题目:图书管理系统班级:网络(1)班:辉学号:1003023352011年12 月22日摘要随着信息技术的发展,计算机已被广泛的应用于社会的各个领域,成为推动社会发展的技术动力。
而在计算机应用中,软件的作用十分突出,软件已经发展成为信息技术的核心,主导着信息产品的开发和信息技术市场的进一步的开拓。
软件产业已成为社会信息化进程中的一个战略性产业。
在软件技术的应用中软件的开发技术尤其是应用型软件产品的开发技术成了重中之重。
不断开发适应用户需求、市场需要的新型软件产品。
尤其是在校园里,各种软件的应用无处不在,为我们的学习和生活提供了方便。
学校的图书馆不仅给我们提供看书学习的地方,还给我们提供了一套功能齐全的图书馆系统,方便我们搜索书籍、借阅图书。
我们本次的Java课程设计的最终目标是实现一个图书馆管理系统,使其具有一般图书管理系统所具有的功能,可以实现管理员日志、管理员添加、管理员退出、读者添加、读者修改、读者查询、读者删除、新书入库、书籍查询、书籍借阅与归还等功能。
因为Java是一门很优秀的编程语言,具有面向对象、与平台无关、安全、稳定和多线程等特点,所以用Java 编程为我们本次程序的编写提供了方便。
在设计中我们主要进行了数据库及类的设计,把整系统分成了15个类和5个表。
通过应用awt、swing、sql、util等包,合理的添加了按钮、菜单、文本框、文本区、表格等组件类,还包含窗口、面板等容器类,经过设计者合理的布局,完成了窗体的设计,并通过建立JDBC-ODBC桥接器连接到Access数据库后,向数据库发送SQL语句实现程序与数据库中表间的消息通信,从而实现了相应的图书馆管理系统的功能。
本文主要分为绪论、系统功能介绍、数据库需求分析、系统功能实现、结论、致、参考文献7大块。
在绪论中介绍了本次课设选题的缘由及思想。
系统功能介绍中详细介绍了本图书管理系统的整体思想及其具体功能。
javaswing图书管理系统实报告
四、实验方法和步骤
实验方法:
1、本系统是基于Java Swing+MySQL实现的图书管理系统。
2、采用Java Swing作为UI界面
3、MySQL数据库作为存储
4、JDBC原生方法操作
(封装了公共的增删改查方法,见src.model.access.Connect.java)
5、采用MVC模式分为Model层、View层、Controller层
6、采用了MD5进行密码加密
实验步骤:
1、需求分析
2、概念结构,绘制E-R图
3、逻辑结构设计:将E-R图转化为等价的关系模式
4、物理结构设计:数据库表的基本结构
5、功能实现
五、实验结果(截图)
1、登录界面
2、普通用户登录界面
3、管理员登录界面
4用户界面功能分别是
图书查询借阅、借阅归还信息、个人信息管理4.1借阅
4.3查询
4.4借阅信息
4.5归还
4.6个人信息管理4.7修改个人信息
4.8修改密码
5.登录界面功能5.1注册功能
6.忘记密码功能
7.管理端功能
图书信息管理、图书种类管理、读者类型管理、图书借阅信息、超级用户7.1界面
7.2添加图书
7.3删除图书
7.4修改图书
7.5图书类型管理7.6读者信息管理历史借阅信息
7.7超级管理员界面修改个人信息
修改个人密码
7.8超级管理员验证查询管理员信息
新增管理员
删除管理员
修改该管理员信息。
java程序设计实验报告--图书管理系统--大学毕业设计论文
信息科学与工程学院课程设计题目:图书管理系统姓名:学号:班级: 13级本科四班物联网课程: Java程序设计任课教师2014年12月20日课程设计任务书及成绩评定目录1前言 (3)1.1设计目的 (4)1.2设计任务 (4)1.3运行环境 (4)2总体设计 (5)2.1设计原理........................................................................................... 错误!未定义书签。
3详细设计实现.. (5)3.1 代码 (5)3.2 登陆后事件处理 (12)4心得体会 ............................................................................................... 错误!未定义书签。
1前言Java的前身是Oak,它一开始只是被应用于消费性电子产品中。
后来它的开发者们发现它还可以被用于更大范围的Internet上。
1995年,Java语言的名字从Oak编程了Java。
1997年J2SE1.1发布。
1998年J2SE1.2发布,标志Java2的诞生。
十多年来,Java编程语言及平台成功地运用在网络计算及移动等各个领域。
Java的体系结构由Java语言、Java class、Java API、Java虚拟机组成。
它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。
Java支持多线程编程,Java运行时系统在多线程同步方面具有成熟的解决方案。
Java的平台标准有Java ME,Java SE和Java EE。
Java发展到今天,它的卓越成就及在业界的地位毋庸置疑。
目前在众多的支持Java的开发工具中主要的7有Java Development Kit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。
java实训报告--图书管理系统
java实训报告--图书管理系统一、项目介绍本项目是一个基于Java的图书管理系统,主要包括图书类别管理、图书信息管理、读者信息管理以及借阅和归还管理等模块。
实现了对图书馆资源的有效管理,提高了图书馆工作效率,满足了读者的需求。
二、需求分析1.用户权限分级实现用户登陆验证,分为管理员和普通用户两类,管理员有图书信息、读者信息、借阅还书和系统管理四种权限,普通用户只有查询和借还书的权限。
2.图书管理管理员可以对图书进行分类管理、添加书目、查看书目、修改和删除图书信息等操作。
3.读者管理管理员可以对读者进行添加、查看、修改和删除读者信息等操作。
普通用户只能查询自己的借书信息和还书日期。
4.借阅还书管理管理员可以对图书的借阅还书进行处理和管理,包括借书和还书操作,超期处理以及还书日期提醒等。
5.系统管理管理员可以对图书馆系统进行管理,包括用户管理、修改密码等操作。
三、设计实现1.数据库设计采用MySQL数据库进行数据存储,主要包括用户表、图书分类表、图书信息表、读者信息表、借阅信息表等。
2.界面设计采用Swing框架实现界面设计,UI界面简洁美观,与用户交互友好。
3.代码实现代码主要采用Java语言实现,采用MVC模式,将业务和UI 进行分离,提高了灵活性和可维护性。
四、实现效果本系统实现了对图书馆资源的有效管理,对管理员可以方便地进行操作,对普通用户可以快速方便地查询和借阅图书。
五、总结通过该项目的实现,使我深入学习了Java语言的面向对象编程、MVC模式、MySQL数据库的使用、Swing界面设计等技术,并深刻体会到了软件开发的需求分析、系统设计、编码实现、测试等基本流程。
同时,也感受到了信息化技术在实际工作中所带来的效率和便捷。
java图书馆管理系统实验报告
java图书馆管理系统实验报告《Java图书馆管理系统实验报告》摘要:本实验报告旨在介绍和分析Java图书馆管理系统的设计与实现过程。
通过本次实验,我们深入了解了Java编程语言的特性和图书馆管理系统的基本功能,同时也锻炼了我们的编程能力和团队合作能力。
本报告将从需求分析、系统设计、系统实现和系统测试等方面进行详细介绍,以期为后续的Java开发工作提供参考和借鉴。
1. 需求分析在需求分析阶段,我们对图书馆管理系统的功能进行了详细的分析和讨论,包括图书的借阅、归还、查询、管理等基本功能,以及读者信息管理、图书信息管理、借阅记录管理等辅助功能。
通过与图书馆管理员和读者的交流,我们明确了系统的需求和用户的期望,为后续的系统设计和实现奠定了基础。
2. 系统设计在系统设计阶段,我们采用了面向对象的思想,将系统划分为图书管理模块、读者管理模块、借阅管理模块等多个子模块,并对各个模块进行了详细的设计和规划。
我们采用UML建模工具进行系统的结构设计和行为设计,包括类图、时序图、用例图等,以便更清晰地表达系统的结构和功能。
3. 系统实现在系统实现阶段,我们采用Java语言进行编码工作,利用Eclipse等集成开发环境进行代码编写和调试。
我们遵循了面向对象的编程原则,将系统的各个模块进行了分工开发,并及时进行了代码的集成和测试。
通过不断地迭代和优化,我们最终完成了整个系统的实现工作,并对系统进行了初步的功能测试和性能测试。
4. 系统测试在系统测试阶段,我们对系统进行了全面的测试工作,包括单元测试、集成测试、系统测试等多个层次的测试。
我们利用Junit等测试工具进行了自动化测试,同时也进行了手工测试和压力测试,以确保系统的稳定性和可靠性。
通过测试,我们发现了一些潜在的问题并进行了及时的修复,最终保证了系统的质量和性能。
结论:通过本次实验,我们深入了解了Java编程语言的特性和图书馆管理系统的基本功能,同时也锻炼了我们的编程能力和团队合作能力。
java实训报告 图书管理系统
目录一、实训任务 (2)二、开发环境的选择与配置 (2)1.安装JDK (2)2.安装Eclipse (4)3.安装SQL Server2005 (4)三、系统功能设计及实现 (4)1.系统功能模块说明............................................................. 错误!未定义书签。
2.数据库设计......................................................................... 错误!未定义书签。
3.编程实现............................................................................. 错误!未定义书签。
四、实训总结 (32)参考文献 (33)附录................................................................................................ 错误!未定义书签。
一、实训任务实验项目:图书管理系统实验目的:掌握Java语言面向对象程序设计方法,图形用户界面设计、事件驱动机制、异常处理机制及数据库编程方法。
实验类型:综合每组人数:1人实验内容及方法基本要求:要求具有良好的图形用户界面,操作方便,可实现对学生基本信息的新增、删除、修改和查询等操作。
程序使用JDBC-ODBC驱动接口或JDBC 驱动连接数据库。
进阶要求:实现系统的安全管理功能,要求仅合法用户才允许登录系统,登录用户分为超级用户和普通用户两类,对于超级用户可以新增和修改普通登录用户的信息及对用户的权限进行维护,对于普通用户只能在权限许可的范围内使用系统的功能。
二、开发环境的选择与配置本实训选用的开发环境为JDK6.0版+Eclipse+SQL Server2005。
图书管理系统java课程设计报告
图书管理系统 Java 课程设计报告1. 引言本报告旨在介绍一个基于 Java 的图书管理系统的设计和实现。
图书管理系统是一个常见的应用场景,通过该系统可以实现图书的借阅、归还、查询等功能。
在本报告中,我们将逐步讨论系统的设计思路和实现过程。
2. 系统需求分析在开始系统设计之前,我们首先需要分析系统的功能需求。
根据用户的需求和使用场景,我们确定了以下主要功能:1.用户登录与身份验证:系统需要支持用户的登录,并对用户进行身份验证,以确保只有授权用户能够使用系统。
2.图书管理:系统需要支持管理员对图书进行管理,包括添加新的图书、删除图书、更新图书信息等。
3.图书借阅与归还:系统需要支持用户对图书的借阅和归还操作,并记录借阅归还的时间。
4.图书查询:用户可以通过关键词查询图书,并获取相关的图书信息。
5.用户管理:管理员可以管理用户信息,包括添加新用户、删除用户等。
3. 系统设计基于以上需求分析,我们可以开始进行系统的设计。
我们将系统分为以下几个模块:3.1 用户模块用户模块负责处理用户的登录与身份验证。
用户需要提供正确的用户名和密码才能成功登录系统。
我们可以使用数据库来存储用户信息,并在用户登录时进行验证。
3.2 图书管理模块图书管理模块负责处理图书的添加、删除和更新等操作。
我们可以使用数据库来存储图书信息,并提供相应的接口供管理员使用。
3.3 图书借阅与归还模块图书借阅与归还模块负责处理用户对图书的借阅和归还操作。
我们可以使用数据库来记录借阅和归还的信息,并提供相应的接口供用户使用。
3.4 图书查询模块图书查询模块负责处理用户对图书的查询请求。
用户可以通过关键词进行图书的搜索,并获取相关的图书信息。
我们可以使用数据库来存储图书信息,并提供相应的接口供用户使用。
3.5 用户管理模块用户管理模块负责处理管理员对用户信息的管理。
管理员可以添加新用户、删除用户等操作。
我们可以使用数据库来存储用户信息,并提供相应的接口供管理员使用。
Java图书图书管理系统报告
成都信息工程学院计算机学院课程实验报告一、源代码import java.io。
*;public class Book implements Serializable{//书的基类public String author;//作者public String published;//出版商public String nameOfBook;//书名private int Booknumbers = 200;public Book(){}public Book(String author,String published,String nameofBook){this。
author = author;this。
published = published;OfBook = nameofBook;}private void writeObject(ObjectOutputStream out)throws IOException {out。
writeUTF(author);out.writeUTF(published);out。
writeUTF(nameOfBook);}private void readObject(ObjectInputStream in) throws IOException {author=in。
readUTF();published=in。
readUTF();nameOfBook=in.readUTF();}private boolean bool = false;public synchronized void borrowBook(){if(bool){try{wait();//多线程通信机制}catch(InterruptedException e){System.out.println("Book类出现异常”);}}else{bool = false;Booknumbers--;System.out.println(”目前图书馆的馆藏图书一共有"+Booknumbers+”册”);notify();//其他的线程被唤醒}}public synchronized void returnBook(){if(bool){try{wait();//多线程通信机制}catch(InterruptedException e){System.out。
Java图书管理系统实习报告
一、实习目的本次实习的目的主要有2个:(一)通过亲手对计算机硬件的拆卸,对计算机的硬件要有更深刻的认识和理解。
(二)通过设计图书管理系统,对相关编程知识有了更进一步的运用,以及其具体实现的细节也有了更深刻的认识。
二、实习单位及岗位介绍本次实习在陕西科技大学理学院的综合实验室进行。
三、实习安排本次实习的时间是三周:前一周进行硬件实习,后两周进行软件实习。
四、实习内容(一)硬件实习:2月23日开始了为期1周的硬件实习,在这段时间里,主要是进行了对计算机主机进行了装卸,通过装卸让我们对计算机内部各个部件的协同工作有了更深的认识。
(二)软件实习:3月1日开始了为期2周的软件实习。
我选择的题目是“图书管理系统”,对于这个题目,整个系统是由3个数据表,3类用户,以及4类动作。
1.配置数据库在SQL Server2000中创建图书管理系统的数据库demo,创建3个数据表books,bookBrowse,UserTable。
2.生成配置文件hibernate.cfg.xml.文件如下:3.创建持久化对象以及创建映射文件:4.Hibernate操作数据库的方法(HibernateUtil.java)。
5.系统主界面(LibraryWindow.java)。
6.用户管理:1)用户登录(UserLogin.java)2)添加用户(UserAdd.java)3)修改用户(UserModify.java)4)删除用户(UserDelete.java)7.书籍管理模块:1)书籍添加(BookAdd.java)2)书籍信息修改(BookModify.java)3)书籍删除(BookDelete.java)4)书籍列表(BookList.java)8.借书管理模块:1)借阅图书类(BorrowBook.java)2)修改出借图书信息(BorrowInfo.java)9.还书管理模块:1)书籍还入(ReturnBook.java)2)还书信息类(ReturnInfo.java)10.部分运行效果图如下:五、实习总结和体会通过这次实习,我对计算机的软件和硬件有了全面的了解。
java课程设计图书馆管理系统
广西外国语学院信息工程学院面向对象java程序设计实验报告一.实验目的1、掌握Java图形用户设计Swing常用组件。
2、掌握SQL Server 2005数据库、数据表的创建与使用。
3、掌握事件的监听机制。
4、熟悉使用SQL语言操作数据库,如增加、删除、查询和修改等。
5、熟悉应用程序的开发流程。
6、程序的打包与安装。
7、锻炼学生的逻辑思维。
实验设备(仪器、材料、软件等)硬件:计算机软件:JDK、Eclipse三、实验内容本系统将会涉及到图书馆日常管理工作的基本常见细节,诸如新图书的入库登记,图书馆所有书籍的分类管理,图书的查询,图书的借阅、退还手续的登记,费旧图书的清理撤除等,本系统所要实现的这些功能基本上涵盖了图书馆的日常管理工作,基本能够满足校园图书馆的工作人员的管理需要。
在对本系统的具体开发过程当中,将采用Java语言进行开发,以SQLServer实现后台数据库,本系统是完全基于图形化用户界面(GUI)的单机版本。
四、实验步骤请参见教材第20章综合案例——快递打印系统格式来书写,要求有界面和核心代码。
图书馆管理系统要有的信息:用户登录(注册),新图书入库,图书信息查询,图书更新(修改),旧图书删除,办理借阅证登记,图书借阅管理,软件说明及关于作者等。
以下是示例,每个同学可以有自己的功能设计和数据库设计。
系统的功能结构图书入库对应数据库学生信息表对应数据库用户信息表对应数据库(一)图书菜单主菜单源代码如下:package book;import java.awt.Container;import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.AbstractAction; import javax.swing.Icon;import javax.swing.ImageIcon;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JPanel;import llf.frane.Login;import booksystem.BookDelete;import booksystem.BookQuery;import booksystem.BookUpdate;import booksystem.Dengji;public class MainFrame extends JFrame{ JMenuBar menubar=null;JMenu jm=null;JPanel jp;//图片Icon icon;//图片JLabel jl;//图片public MainFrame(){setSize(558,370);setTitle("广外图书管理系统");setJMenuBar(getJMenuBar1());setLocationRelativeTo(null);setResizable(false);}private JMenuBar getJMenuBar1() {// TODO Auto-generated method stubif(menubar==null){menubar=new JMenuBar();JMenu jm1=new JMenu("菜单");JMenu jm2=new JMenu("选项");JMenu jm3=new JMenu("帮助");menubar.add(jm1);menubar.add(jm2);menubar.add(jm3);JMenuItem bookinsert=new JMenuItem("新图书入库");JMenuItem bookquery=new JMenuItem("图书信息查询");JMenuItem bookupdate=new JMenuItem("图书更新");JMenuItem bookdelete=new JMenuItem("旧图书删除");JMenuItem bookexit=new JMenuItem("退出系统");JMenuItem dengji=new JMenuItem("办理借阅证登记");JMenuItem manage=new JMenuItem("图书借阅管理");JMenuItem denglu=new JMenuItem("用户登陆");JMenuItem introduce=new JMenuItem("软件说明");JMenuItem author =new JMenuItem("关于作者");jm1.add(bookinsert);jm1.add(bookquery);jm1.add(bookupdate);jm1.add(bookdelete);jm1.add(bookexit);jm2.add(dengji);jm2.add(manage);jm2.add(denglu);jm3.add(introduce);jm3.add(author);JPanel jp=new JPanel();//图片Icon iocn=new ImageIcon("C:/Users/Administrator/Desktop/李亮锋135502113/tushuguan.JPG");JLabel jl=new JLabel(iocn);//图片jp.add(jl);//图片this.add(jp);//图片bookinsert.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubBookinsert bi=new Bookinsert();bi.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);bi.setVisible(true);}});bookquery.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubBookQuery bq=new BookQuery();bq.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);bq.setVisible(true);}});bookupdate.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubBookUpdate bu=new BookUpdate();bu.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);bu.setVisible(true);}});bookdelete.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubBookDelete bd=new BookDelete();bd.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);bd.setVisible(true);}});bookexit.addActionListener(new ActionListener() {//退出public void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubSystem.exit(1);}});dengji.addActionListener(new ActionListener() {//办理借阅证登记public void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubDengji dj=new Dengji();dj.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);dj.setVisible(true);}});introduce.addActionListener(new ActionListener() {//软件说明public void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubIntroduce id=new Introduce();id.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);id.setVisible(true);}});manage.addActionListener(new ActionListener() {//图书借阅管理public void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubManage ma=new Manage();ma.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);ma.setVisible(true);}});denglu.addActionListener(new ActionListener() {//登陆public void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubLogin lg=new Login();lg.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);lg.setVisible(true);}});author.addActionListener(new ActionListener() {//关于作者public void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubAuthor at=new Author();at.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);at.setVisible(true);}});}return menubar;}public static void main(String[] args) {// TODO Auto-generated method stubMainFrame mf=new MainFrame();mf.setVisible(true);mf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}(二)登录界面登陆界面源代码如下:package llf.frane;import ponent;import java.awt.Font;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JPasswordField;import javax.swing.JTextField;public class Login extends JFrame{JPanel jP1,jP2,jP3,jP4;JLabel jl1,jl2,jl3;JTextField tf;JPasswordField pf;JButton b1,b2,b3;public Login(){jl1=new JLabel("广外图书馆");jl1.setFont(new Font("隶书",Font.BOLD,40));jl2=new JLabel("账户:");jl3=new JLabel("密码:");b1=new JButton("登陆");b2=new JButton("取消");b3=new JButton("重置");tf=new JTextField(15);pf=new JPasswordField(15);jP1=new JPanel();jP2=new JPanel();jP3=new JPanel();jP4=new JPanel();setLayout(new GridLayout(4,1));jP1.add(jl1);jP2.add(jl2);jP2.add(tf);jP3.add(jl3);jP3.add(pf);jP4.add(b1);jP4.add(b2);jP4.add(b3);this.add(jP1);this.add(jP2);this.add(jP3);this.add(jP4);setTitle("用户登陆");setSize(500,400);setLocationRelativeTo(null);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setVisible(true);b2.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubSystem.exit(1);}});b3.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubtf.setText("");pf.setText("");}});}public static void main(String[] args) {Login lg=new Login();}}(三)新图书入库新图书入库源代码package book;import java.awt.GridLayout;import java.awt.HeadlessException; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.Connection;import java.sql.PreparedStatement; import java.sql.SQLException;import javax.swing.AbstractButton; import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JTextField;import llf.frane.DAO;public class Bookinsert extends JFrame { JLabel jl1,jl2,jl3,jl4,jl5;JTextField jt1,jt2,jt3,jt4,jt5;JButton jb1,jb2;JPanel jp1,jp2,jp3,jp4,jp5,jp6;public Bookinsert(){setSize(400,300);setTitle("新图书入库");setLocationRelativeTo(null);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setVisible(true);setLayout(new GridLayout(6,1));jp1=new JPanel();jp2=new JPanel();jp3=new JPanel();jp4=new JPanel();jp5=new JPanel();jp6=new JPanel();jl1=new JLabel("图书编号");jl2=new JLabel("图书名称");jl3=new JLabel("出版日期");jl4=new JLabel("出版社名称");jl5=new JLabel("图书总数");jt1=new JTextField(15);jt2=new JTextField(15);jt3=new JTextField(15);jt4=new JTextField(15);jt5=new JTextField(15);jb1=new JButton("入库");jb2=new JButton("重置");jp1.add(jl1);jp1.add(jt1);jp2.add(jl2);jp2.add(jt2);jp3.add(jl3);jp3.add(jt3);jp4.add(jl4);jp4.add(jt4);jp5.add(jl5);jp5.add(jt5);jp6.add(jb1);jp6.add(jb2);this.add(jp1);this.add(jp2);this.add(jp3);this.add(jp4);this.add(jp5);this.add(jp6);jb1.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {//System.exit(1);String sname=jt1.getText().trim();String sno=jt2.getText().trim();String sriqi=jt3.getText().trim();String schubanshe=jt4.getText().trim();String szongshu=jt5.getText().trim();String sex;try {if(sname.equals("")||sno.equals("")||sriqi.equals("")||schubanshe.equals("")|| szongshu.equals("")){JOptionPane.showMessageDialog(null,"请输入完整信息");}else{Connection conn=null;PreparedStatement ps=null;conn=DAO.getConn();ps=conn.prepareStatement("insert into inputbook values ('"+sname+"','"+sno+"','"+sriqi+"','"+schubanshe+"','"+szongshu+"')");int i=ps.executeUpdate();if(i==1){JOptionPane.showMessageDialog(null,"入库成功");}else{JOptionPane.showMessageDialog(null,"入库失败");}}} catch (HeadlessException e1) {// TODO Auto-generated catch blocke1.printStackTrace();} catch (SQLException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}});jb2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubjt1.setText("");jt2.setText("");jt3.setText("");jt4.setText("");jt5.setText("");}});}public static void main(String[] args) {// TODO Auto-generated method stubBookinsert b=new Bookinsert();b.setVisible(true);b.setResizable(false);}}(四)图书信息查询图书信息查询源代码如下:package booksystem;import java.awt.GridLayout;import java.awt.HeadlessException;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JTextField;import llf.frane.DAO;public class BookQuery extends JFrame {JLabel jl1,jl2,jl3,jl4;JTextField jf1,jf2,jf3,jf4;//文本JButton jb1;//按钮JPanel jp1,jp2,jp3,jp4;public BookQuery(){jl1=new JLabel("查询图书的名称:");jl2=new JLabel("图书编号:");jl3=new JLabel("入库日期");jl4=new JLabel("入库总数:");jf1=new JTextField(15);jf2=new JTextField(15);jf3=new JTextField(15);jf4=new JTextField(15);jb1=new JButton("查询");jp1=new JPanel();jp2=new JPanel();jp3=new JPanel();jp4=new JPanel();this.setLayout(new GridLayout(4, 1));jp1.add(jl1);jp1.add(jf1);jp1.add(jb1);jp2.add(jl2);jp2.add(jf2);jp3.add(jl3);jp3.add(jf3);jp4.add(jl4);jp4.add(jf4);this.add(jp1);this.add(jp2);this.add(jp3);this.add(jp4);setTitle("图书查询");setSize(400,300);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);setLocationRelativeTo(null);setVisible(true);jb1.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubString bookname=jf1.getText().trim();Connection conn=null;PreparedStatement ps=null;ResultSet rs=null;conn=DAO.getConn();try {if(bookname.equals("")){JOptionPane.showMessageDialog(null,"请输入你要查询的书名");}else{String sql="select * from inputbook wherebookname='"+bookname+"'";ps=conn.prepareStatement(sql);rs=ps.executeQuery();if(rs.next()){jf2.setText(rs.getString(1));jf3.setText(rs.getString(3));}else{JOptionPane.showMessageDialog(null,"你查询的图书不存在");}}} catch (HeadlessException e1) {// TODO Auto-generated catch blocke1.printStackTrace();} catch (SQLException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}});}public static void main(String[] args) {// TODO Auto-generated method stubBookQuery bc=new BookQuery();}}(五)图书更新图书更新源代码如下:package booksystem;import java.awt.GridLayout;import java.awt.HeadlessException;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JTextField;import llf.frane.DAO;public class BookUpdate extends JFrame {JLabel jl1,jl2,jl3,jl4,jl5;JTextField jt1,jt2,jt3,jt4,jt5;//文本JButton jb1,jb2;JPanel jp1,jp2,jp3,jp4,jp5,jp6;public BookUpdate(){jl1=new JLabel("图书名称");jl2=new JLabel("图书编号");jl3=new JLabel("入库日期");jl4=new JLabel("入库日期");jl5=new JLabel("入库总数");jt1=new JTextField(15);jt2=new JTextField(15);jt3=new JTextField(15);jt4=new JTextField(15);jt5=new JTextField(15);jb1=new JButton("查询");jb2=new JButton("修改");jp1=new JPanel();jp2=new JPanel();jp3=new JPanel();jp4=new JPanel();jp5=new JPanel();jp6=new JPanel();setLayout(new GridLayout(6, 1));jp1.add(jl1);jp1.add(jt1);jp2.add(jl2);jp2.add(jt2);jp3.add(jl3);jp3.add(jt3);jp4.add(jl4);jp4.add(jt4);jp5.add(jl5);jp5.add(jt5);jp6.add(jb1);jp6.add(jb2);this.add(jp1);this.add(jp2);this.add(jp3);this.add(jp4);this.add(jp5);this.add(jp6);setTitle("图书更新");setSize(500,350);setLocationRelativeTo(null);setDefaultCloseOperation(DISPOSE_ON_CLOSE);setVisible(true);jb1.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubString bookname=jt1.getText().trim();Connection conn=null;PreparedStatement ps=null;ResultSet rs=null;conn=DAO.getConn();try {if(bookname.equals("")){JOptionPane.showMessageDialog(null,"请输入你要查询的书名");}else{String sql="select * from inputbook wherebookname='"+bookname+"'";ps=conn.prepareStatement(sql);rs=ps.executeQuery();if(rs.next()){jt2.setText(rs.getString(1));jt3.setText(rs.getString(3));}else{JOptionPane.showMessageDialog(null,"你查询的图书不存在");}}} catch (HeadlessException e1) {// TODO Auto-generated catch blocke1.printStackTrace();} catch (SQLException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}});jb2.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stub// jt1.setText("");jt2.setText("");jt3.setText(""); // jt4.setText("");jt5.setText("");}});}public static void main(String[] args) {// TODO Auto-generated method stubBookUpdate bu=new BookUpdate();}}(六)旧图书删除旧图书删除源代码如下:package booksystem;//说明删除界面import java.awt.GridLayout;import java.awt.HeadlessException;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.SQLException;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JTextField;import llf.frane.DAO;public class BookDelete extends JFrame{JLabel jl1;JTextField jf1;JButton jb1,jb2;JPanel jp1,jp2,jp3;public BookDelete(){jl1=new JLabel("请输入你要删除的图书名称");jf1=new JTextField(18);jb1=new JButton("删除");jb2=new JButton("重置");jp1=new JPanel();jp2=new JPanel();jp3=new JPanel();setLayout(new GridLayout(3, 1));jp1.add(jl1);jp2.add(jf1);jp3.add(jb1);jp3.add(jb2);this.add(jp1);this.add(jp2);this.add(jp3);setTitle("旧图书删除");setSize(400,250);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);setLocationRelativeTo(null);setVisible(true);jb1.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubString dlname=jf1.getText().trim();try {if(dlname.equals("")){JOptionPane.showMessageDialog(null, "请输入你要删除的图书名称");}else{Connection conn=null;PreparedStatement ps=null;int i;conn=DAO.getConn();String sql="delete * from inputbook wherebookname='"+dlname+"'";//执行sqlps=conn.prepareStatement(sql);i=ps.executeUpdate();if(i==1){JOptionPane.showMessageDialog(null, "删除图书成功");}else{JOptionPane.showMessageDialog(null, "删除图书失败");}}} catch (HeadlessException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();}}});jb2.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubjf1.setText("");}});}public static void main(String[] args) {// TODO Auto-generated method stubBookDelete bd=new BookDelete();}}(七)办理借阅证登记办理借阅证登记源代码如下:package booksystem;import java.awt.GridLayout;import java.awt.HeadlessException;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.SQLException;import javax.swing.ButtonGroup;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JRadioButton;import javax.swing.JTextField;import llf.frane.DAO;public class Dengji extends JFrame{JRadioButton jrb1,jrb2;JLabel jl1,jl2,jl3,jl4,jl5,jl6;JTextField jt1,jt2,jt3,jt4,jt5;ButtonGroup bg;JButton jb1,jb2;JPanel jp1,jp2,jp3,jp4,jp5,jp6,jp7;public Dengji(){jl1=new JLabel("学生姓名");jl2=new JLabel("学生学号");jl3=new JLabel("学生性别");jl4=new JLabel("所在院系");jl5=new JLabel("所在专业");jl6=new JLabel("所在班级");jrb1=new JRadioButton("男");jrb2=new JRadioButton("女");jb1=new JButton("登记");jb2=new JButton("重置");bg=new ButtonGroup();jt1=new JTextField(15);jt2=new JTextField(15);jt3=new JTextField(15);jt4=new JTextField(15);jt5=new JTextField(15);jp1=new JPanel();jp2=new JPanel();jp3=new JPanel();jp4=new JPanel();jp5=new JPanel();jp6=new JPanel();jp7=new JPanel();setLayout(new GridLayout(8, 1));jp1.add(jl1);jp1.add(jt1);jp2.add(jl2);jp2.add(jt2);jp4.add(jl4);jp4.add(jt3);jp5.add(jl5);jp5.add(jt4);jp6.add(jl6);jp6.add(jt5);jp7.add(jb1);jp7.add(jb2);jp3.add(jl3);bg.add(jrb1);bg.add(jrb2);jp3.add(jrb1);jp3.add(jrb2);this.add(jp1);this.add(jp2);this.add(jp3);this.add(jp4);this.add(jp5);this.add(jp6);this.add(jp7);setTitle("办理借阅证登记");setSize(400, 300);setLocationRelativeTo(null);setDefaultCloseOperation(DISPOSE_ON_CLOSE);jb1.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubString sname=jt1.getText().trim();String sno=jt2.getText().trim();String syuanxi=jt3.getText().trim();String szhuanye=jt4.getText().trim();String sclass=jt5.getText().trim();String sex;if(jrb1.isSelected()){sex="男";}else{sex="女";}try {if(sname.equals("")||sno.equals("")||syuanxi.equals("")||szhuanye.equals("")|| sclass.equals("")){JOptionPane.showMessageDialog(null,"请输入完整信息");}else{Connection conn=null;PreparedStatement ps=null;conn=DAO.getConn();ps=conn.prepareStatement("insert into dengji values sname='"+sname+"'+sno='"+sno+"'+syuanxi='"+syuanxi+"'+szhuanye='"+szhuanye+"'+scla ss='"+sclass+"'");int i=ps.executeUpdate();if(i==1){JOptionPane.showMessageDialog(null,"登记成功");}else{JOptionPane.showMessageDialog(null,"登记失败");}}} catch (HeadlessException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}});jb2.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubjt1.setText("");jt2.setText("");jt3.setText("");jt4.setText("");jt5.setText("");}});}public static void main(String[] args) {// TODO Auto-generated method stubDengji dj=new Dengji();dj.setVisible(true);}}(八)图书借阅管理图书借阅管理源代码如下:package book;import java.awt.GridLayout;import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ButtonGroup;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JRadioButton; import javax.swing.JTextField;public class Manage extends JFrame{ JLabel jl1,jl2,jl3,jl4;JRadioButton jrb1,jrb2;JTextField jt1,jt2,jt3,jt4;ButtonGroup bg;JButton jb1,jb2;JPanel jp1,jp2,jp3,jp4,jp5,jp6;public Manage(){jl1=new JLabel("学生姓名:");jl2=new JLabel("学生学号:");jl3=new JLabel("图书名称:");jl4=new JLabel("图书编号");jrb1=new JRadioButton("借书");jrb2=new JRadioButton("还书");jb1=new JButton("确定");jb2=new JButton("重置");jt1=new JTextField(15);jt2=new JTextField(15);jt3=new JTextField(15);jt4=new JTextField(15);bg=new ButtonGroup();jp1=new JPanel();jp2=new JPanel();jp3=new JPanel(); jp4=new JPanel();jp5=new JPanel();jp6=new JPanel(); setLayout(new GridLayout(6, 1));jp1.add(jrb1);jp1.add(jrb2);jp2.add(jl1);jp2.add(jt1);jp3.add(jl2);jp3.add(jt2);jp4.add(jl3);jp4.add(jt3);jp5.add(jl4);jp5.add(jt4);jp6.add(jb1);jp6.add(jb2);bg.add(jrb1);bg.add(jrb2);this.add(jp1);this.add(jp2);this.add(jp3);this.add(jp4);this.add(jp5);this.add(jp6);setTitle("图书借阅管理");setSize(400, 300);setLocationRelativeTo(null); setDefaultCloseOperation(DISPOSE_ON_CLOSE);jb1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stubSystem.exit(1);}});jb2.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubjt1.setText("");jt2.setText("");jt3.setText("");jt4.setText("");}});}public static void main(String[] args) {// TODO Auto-generated method stubManage ma=new Manage();ma.setVisible(true);}}(九)软件说明软件说明代码如下:package book;import java.awt.Font;import java.awt.GridLayout;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import book.Introduce;public class Introduce extends JFrame{JLabel jl1,jl2,jl3,jl4,jl5,jl6,jl7,jl8,jl9,jl10;JPanel jp1,jp2,jp3,jp4,jp5,jp6,jp7,jp8,jp9,jp10;public Introduce(){jl1=new JLabel("本系统通过强大的计算机技术给图书管理人员和读者借、");jl2=new JLabel("还书带来便利。
java图书管理系统实训报告
北京联合大学实验(实习、实训)报告课程(项目)名称:面向对象程序设计学院:师范学院专业:计算机科学与技术班级:11计本1 学号:2011020332129 姓名:张有金成绩:2012 年12 月27 日一、任务与目的1.Mysql建库、建表、添、删、改、查等操作及Sql语句。
2.Java与MYSql的JDBC连接;Java连接程序编写、JavaBean编写,数据库操作程序的编写。
3.Java图形界面的编写,面向对象程序设计(抽象、封装、继承、多态)的思想二、功能模块的设计1.数据库表设计Mydata(数据库:图书):1、Survey(信息检索)CREATE TABLE Survey (SurveyId INTEGER AUTO_INCREMENT,SurveyName V ARCHAR(50) NOT NULL,SurveyFamilyNumber V ARCHAR(50) NOT NULL,SurveySalary V ARCHAR(50) NOT NULL,PRIMARY KEY (SurveyId));2、Card(会员卡)CREATE TABLE Card (CardId INTEGER AUTO_INCREMENT,CardName V ARCHAR(50) NOT NULL,CardNumber V ARCHAR(50) NOT NULL,PRIMARY KEY (CardId));3、Book(书籍信息)CREATE TABLE Book (BookId INTEGER AUTO_INCREMENT,BookName V ARCHAR(50) NOT NULL,BookPrice V ARCHAR(50) NOT NULL,PRIMARY KEY (BookId));2.java数据库连接和添、删、改、查等操作的设计Java访问数据库过程如下:①装载数据库驱动;②通过JDBC建立数据库连接;③访问数据库,执行SQL语句;④断开数据库连接;数据库连接package DB;import java.sql.*;import javax.swing.JOptionPane;//数据库连接类MySqlConnnection。
java图书馆管理系统实验报告
java图书馆管理系统实验报告Java图书馆管理系统实验报告一、引言图书馆是一个重要的知识资源中心,为读者提供各种书籍和资料,帮助他们获取知识和信息。
然而,传统的图书馆管理方式存在一些问题,如借阅过程繁琐、图书管理不便等。
为了解决这些问题,我们设计并实现了一个基于Java的图书馆管理系统。
二、系统需求分析1. 用户管理:系统需要提供用户管理功能,包括读者和管理员两种角色。
读者可以注册、登录、查询图书信息、借阅和归还图书等;管理员可以管理图书信息、读者信息、借阅记录等。
2. 图书管理:系统需要提供图书管理功能,包括图书的增加、删除、修改和查询等。
管理员可以根据图书的编号、名称、作者等信息进行查询和操作。
3. 借阅管理:系统需要提供借阅管理功能,包括读者的借阅记录、借阅期限的控制、逾期罚款等。
读者可以查询自己的借阅记录,管理员可以审核借阅申请、处理逾期情况等。
三、系统设计与实现1. 技术选型:我们选择使用Java语言进行系统的设计与实现。
Java具有跨平台性、面向对象的特点,适合用于开发图书馆管理系统这样的应用。
2. 数据库设计:我们使用MySQL数据库来存储系统的数据。
设计了读者表、图书表、借阅记录表等,并建立了相应的关系。
3. 界面设计:系统的界面采用了Java Swing技术来实现。
我们设计了用户登录界面、主界面、图书查询界面、借阅记录界面等。
4. 功能实现:根据系统需求,我们实现了用户管理、图书管理和借阅管理等功能。
通过编写相应的Java代码,实现了用户注册、登录、图书增删改查、借阅和归还等操作。
四、系统测试与评估1. 功能测试:我们对系统的各个功能进行了测试,包括用户注册、登录、图书查询、借阅和归还等。
测试结果显示系统的功能正常,能够满足用户的需求。
2. 性能评估:我们对系统的性能进行了评估,包括响应时间、并发处理能力等。
评估结果显示系统的性能良好,能够满足一般图书馆的需求。
3. 用户反馈:我们邀请了一些用户进行系统的使用,并收集了他们的反馈意见。
Java图书管理系统实训报告
Java图书管理系统实训报告一、项目背景与目的随着信息技术的不断发展和人们对知识的需求日益增长,图书馆成为学校和社会中重要的知识传播和文化交流场所。
然而,传统的图书管理方式已不能满足当代要求,迫切需要一种高效、便捷的图书管理系统来提高图书馆的管理效率和读者服务质量。
本项目旨在开发一款基于Java的图书管理系统,通过计算机技术的应用,对传统的图书管理进行改进和优化,提高图书管理和读者服务的效率。
二、实训内容与环境1. 实训内容本次实训的主要内容包括图书管理系统的需求分析、系统设计、代码编写和测试等环节。
实训过程中,我们将采用面向对象的开发思想,使用Java语言进行编程,并结合数据库技术来存储和管理图书信息。
2. 实训环境为了完成本次实训,我们需要准备以下环境:•操作系统:Windows 10•Java开发工具:Eclipse•数据库管理工具:MySQL Workbench•版本控制工具:Git•Java开发框架:JavaFX三、系统设计与实现1. 系统需求分析根据实际需求,我们对图书管理系统的主要功能进行了分析和定义,主要包括以下几个模块:•图书管理:包括图书录入、图书查询、图书借阅和归还等功能。
•读者管理:包括读者信息录入、查询和修改等功能。
•借阅管理:包括借阅记录查询和图书逾期提醒等功能。
•统计报表:包括图书借阅统计和读者借阅排行等功能。
2. 系统设计在系统设计阶段,我们采用了三层架构的设计模式,将系统划分为前端展示层、业务逻辑层和数据访问层。
前端展示层使用JavaFX技术进行开发,实现了用户界面的设计和交互功能。
业务逻辑层负责处理各种请求和业务逻辑,对用户输入的数据进行验证和处理。
数据访问层使用MySQL 数据库来存储和管理图书和用户的信息。
3. 代码实现在代码编写阶段,我们根据系统设计的要求,使用Java编程语言实现了各个功能模块的代码。
具体实现过程中,我们采用了面向对象的编程方式,使用合适的数据结构和算法来解决实际问题。
图书管理系统实验报告
图书管理系统实验报告图书管理系统实验报告一、引言图书管理系统是一种利用计算机技术对图书馆的图书进行管理的系统。
随着信息技术的快速发展,图书管理系统在图书馆中的应用越来越普遍。
本实验旨在通过设计和实现一个图书管理系统,探索其在图书馆管理中的作用和优势。
二、系统设计与功能1. 系统设计本图书管理系统采用了客户端-服务器架构,客户端通过与服务器进行通信来实现对图书馆的图书进行管理。
系统使用了数据库来存储图书信息和用户信息,通过数据库管理系统来实现对数据的增删改查操作。
2. 系统功能(1)图书管理:管理员可以通过系统添加、删除、修改和查询图书信息。
同时,系统还提供了图书分类、图书借阅和归还等功能,方便图书馆管理人员进行图书管理。
(2)用户管理:系统支持用户注册和登录功能,用户可以通过登录系统查询图书信息、借阅图书和归还图书。
系统还提供了用户权限管理功能,管理员可以对用户进行权限设置和管理。
(3)借阅管理:系统记录了用户的借阅信息,包括借阅时间、归还时间和逾期情况。
系统还提供了借阅提醒功能,及时通知用户归还图书。
三、系统实现与结果1. 系统实现本实验使用Java编程语言和MySQL数据库来实现图书管理系统。
通过使用Java的GUI库和数据库连接库,实现了系统的界面设计和数据库操作功能。
2. 系统结果经过实验测试,系统能够正常运行,并且实现了预期的功能。
管理员可以通过系统添加、删除、修改和查询图书信息,用户可以通过登录系统查询图书信息、借阅图书和归还图书。
系统能够准确记录用户的借阅信息,并及时提醒用户归还图书。
四、系统优势与应用前景1. 系统优势(1)提高工作效率:图书管理系统能够自动化完成图书的管理和借阅流程,减少了繁琐的人工操作,提高了工作效率。
(2)减少错误率:系统能够准确记录图书的借阅信息,并自动提醒用户归还图书,减少了因人为疏忽而导致的错误。
(3)方便用户:用户可以通过系统查询图书信息、借阅图书和归还图书,不再需要亲自到图书馆进行操作,提供了更加便利的服务。
原创Java图书管理系统设计报告
原创Java图书管理系统设计报告1. 引言本文档详细介绍了一个原创的Java图书管理系统的设计和实现。
该系统旨在帮助图书馆管理人员更加高效地管理图书馆的图书信息、借阅记录以及读者信息。
通过使用该系统,图书馆管理人员可以简化图书管理过程并提高工作效率。
2. 系统概述2.1 功能介绍本图书管理系统主要包含以下功能:•图书管理:包括图书信息的录入、修改、删除以及查询功能。
•借阅管理:支持读者借阅图书和还书的操作,可以查询读者的借阅记录。
•读者管理:包括读者信息的录入、修改、删除以及查询功能。
2.2 开发环境该图书管理系统使用Java编程语言开发,并使用MySQL作为数据库存储数据。
开发所用的集成开发环境为Eclipse。
2.3 系统架构本系统采用三层架构,包括表示层、业务逻辑层和数据访问层。
•表示层:负责与用户界面进行交互,接收用户输入并将结果展示给用户。
•业务逻辑层:处理来自表示层的请求,调用数据访问层进行数据操作,并将结果返回给表示层。
•数据访问层:负责与数据库进行交互,执行数据库操作。
3. 系统设计3.1 数据库设计本系统使用MySQL作为数据库,设计了以下数据库表:•书目表(Book):包含图书的基本信息,如书名、作者、出版社等。
•借阅记录表(BorrowRecord):记录了读者借阅图书的历史记录。
•读者表(Reader):记录了读者的基本信息,如姓名、性别、年龄等。
3.2 类设计本系统包含以下主要类:•Book类:表示图书的实体类,包含了图书的各种属性和相关操作方法。
•BorrowRecord类:表示借阅记录的实体类,包含了借阅记录的各种属性和相关操作方法。
•Reader类:表示读者的实体类,包含了读者的各种属性和相关操作方法。
3.3 用户界面设计本系统的用户界面设计简洁明了,包括以下几个界面:•主界面:显示系统的各项功能操作入口。
•图书管理界面:显示图书的录入、修改、删除和查询功能。
•借阅管理界面:显示借阅图书和还书的操作,并可以查询读者的借阅记录。
图书管理系统java课程设计报告
图书管理系统java课程设计报告一、课程目标知识目标:1. 掌握Java语言面向对象编程的基本原理,包括类的定义、对象的创建、继承和多态;2. 学会使用Java集合框架,如List、Set等,进行数据存储和管理;3. 理解数据库连接和SQL语句执行过程,掌握JDBC操作数据库的基本方法;4. 了解图书管理系统的业务需求,能运用所学知识分析并实现系统功能。
技能目标:1. 培养学生运用面向对象思想进行问题分析和解决的能力;2. 提高学生使用Java语言编写程序、调试代码和解决问题的实践能力;3. 培养学生运用JDBC技术操作数据库,实现数据增删改查等基本功能;4. 培养学生团队协作、沟通表达和项目组织管理的能力。
情感态度价值观目标:1. 激发学生对计算机编程的兴趣,培养其主动学习和探究的精神;2. 培养学生严谨、踏实的学术态度,注重代码规范和编程习惯;3. 引导学生关注实际应用,体会所学知识在解决实际问题中的价值;4. 培养学生的团队协作意识,使其认识到团队合作的重要性。
本课程针对高年级学生,结合学科特点和教学要求,旨在通过图书管理系统Java课程设计,使学生在掌握Java编程基础和数据库操作技能的同时,培养其实际项目开发和团队协作能力。
课程目标具体、可衡量,为后续教学设计和评估提供明确依据。
二、教学内容1. Java面向对象编程基础:- 类的定义、属性、方法- 对象的创建、使用- 继承、多态、封装- 抽象类、接口2. Java集合框架:- List、Set、Map接口及其实现类- 集合的增删改查操作- 集合的迭代器、增强型for循环遍历3. 数据库基础与JDBC操作:- 数据库概念、SQL语言基础- JDBC驱动加载、数据库连接- PreparedStatement对象执行SQL语句- 结果集处理、事务管理4. 图书管理系统功能实现:- 系统需求分析- 类的设计与实现- 数据库表结构设计- 系统功能模块划分及实现教学内容按照课程目标进行选择和组织,确保科学性和系统性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java实验报告图书管理系统1.管理员界面<<密码验证<<展示所有图书<<查找图书<<添加书籍<<删除书籍<<修改密码<<返回上一层<<结束2.学生界面<<身份识别<<查找图书<<借阅图书<<归还书籍<<返回上一层<<结束3.退出程序源代码:Main.javapackage pany;import java.util.Date;import java.util.Scanner;public class Main {public static void main(String[] args) {// write your code hereUser U;Library L=new Library("东北大学图书馆");System.out.println("欢迎来到东北大学图书馆");Book b1=new Book("java编程思想","sdhf","554532",new Date(2016,12,13),15); Book b2=new Book("C++编程","nimei","15654",new Date(2017,5,13),5);Students s1=new Undergraduate("黎明","20175821");Students s2=new Master("狭隘","20164545");b1.BookUser.add(s2);b1.BookUser.add(s1);b2.BookUser.add(s2);b2.BookUser.add(s1);L.addBook(b1);L.addBook(b2);//在以上的代码中都是为了增加图书馆中的藏书Scanner sc=new Scanner(System.in);String order;//命令操作板while(true){System.out.println("命令操作符\n<<AccessADInterface\n<<AccessSTInterface\n<<over");System.out.print("<<");order=sc.next();if(order.equals("AccessADInterface")){Administrators A=new Administrators();if (A.getPassWord() == 1){while(true) {System.out.println("命令操作符\n<<ShowAllBook\n<<SearchBook\n<<AddBook\n<<DeleteBook\n<<ChangePassWord\n<<GoBack\n<<over" );System.out.print("<<");order = sc.next();if (order.equals("ShowAllBook")) {L.ShowBook();} else if (order .equals( "SearchBook")) {L.ShowBook(L.SearchBook());} else if (order.equals( "AddBook") ){L.addBook();} else if (order .equals( "DeleteBook")) {L.DeleteBook();} else if(order.equals("ChangePassWord")){A.changePassWord();} else if (order .equals( "GoBack")) {break;} else if (order .equals( "over")) {System.out.println("已退出图书管理系统");System.exit(0);}}}else{System.exit(0);}} else if(order.equals("AccessSTInterface")){U=erComing();while (true){System.out.println("<<SearchBook\n<<BorrowBook\n<<ReturnBook\n<<GoBack\n<<over"); System.out.print("<<");order=sc.next();if(order.equals("SearchBook")) {L.ShowBook(L.SearchBook());}else if(order.equals("BorrowBook")){L.SearchBook().BookBorrow(U);}else if(order.equals("ReturnBook")){L.ReturnBook(U);}else if(order.equals("GoBack")){break;}}}else if(order.equals("over")){System.out.println("已退出图书管理系统");System.exit(0);}else {System.out.println("输入了错误的指令");continue;}}}}Library.javapackage pany;import java.util.Scanner;import java.util.Vector;public class Library {public static final int OK=1;public static final int ERROR=1;Vector<Object> book= new Vector();//用来存储书类丹书类中也存有用户类private String Libraryname;Scanner sc=new Scanner(System.in);Library (String name){this.Libraryname=name;}public User UserComing() {int kind;User U;Scanner sc = new Scanner(System.in);System.out.println("如果你是老师请输入1,若是学生请输入2");while (true) {while(true){kind = sc.nextInt();if (kind == 1) {U = new Teacher();return U;} else if (kind == 2) {System.out.println("如果你是本科生请输入1,若是硕士研究生请输入2");while (true){kind=sc.nextInt();if(kind==1){U = new Undergraduate();return U;}else if(kind==2){U=new Master();return U;}else{System.out.println("输入错误");break;}}} else {System.out.println("输入错误");System.out.println("请重新输入:");break;}}}}public void addBook(Book b){book.add(b);}public void addBook(){int i;i=1;Book b;while(i==1){b=new Book();this.addBook(b);System.out.println("如果要继续输入书本信息就输入1,否则就输入2"); i=sc.nextInt();}}public Book SearchBook(){String BookName;Book b;System.out.println("请输入你要借查询的书");BookName=sc.next();for(int i=0;i<this.book.size();i++){b=(Book)this.book.elementAt(i);if(b.bookName.equals(BookName)){return b;}}return null;}public void ReturnBook(User U){User u;Book b;b=this.SearchBook();for(int i=0;i<b.BookUser.size();i++){u=(User) b.BookUser.elementAt(i);if(u==U){U.numBookBor--;b.BookUser.remove(i);b.surplus++;System.out.println("还书成功");return;}else {System.out.println("您不是这本书的借阅者,不能还书");return;}}System.out.println("找不到你要的书");}public void DeleteBook(){String BookName;Book b;System.out.println("请输入你要删除的书");BookName=sc.next();for(int i=0;i<this.book.size();i++){b=(Book)this.book.elementAt(i);if(b.bookName.equals(BookName)){if(b.BookUser.size()==0){this.book.remove(i);System.out.println("已经成功的删除书籍");}else {System.out.println("还有人尚未还书,不能够删除书籍");}}}}public void ShowBook(){Book b;for(int i=0;i<this.book.size();i++){b=(Book)book.elementAt(i);System.out.println((i+1)+"\t"+b.bookName+"\t"+b.auther+"\t"+b.bookNum+"\t"+b.depositTime.ge tYear()+"\t"+b.depositTime.getMonth()+"\t"+b.depositTime.getDay()+"\t"+b.surplus);}}public void ShowBook(Book b){System.out.println("\t"+b.bookName+"\t"+b.auther+"\t"+b.bookNum+"\t"+b.depositTime.getYear( )+"\t"+b.depositTime.getMonth()+"\t"+b.depositTime.getDay()+"\t"+b.surplus);}}Book.javapackage pany;import java.util.Scanner;import java.util.Vector;public class Library {public static final int OK=1;public static final int ERROR=1;Vector<Object> book= new Vector();//用来存储书类丹书类中也存有用户类private String Libraryname;Scanner sc=new Scanner(System.in);Library (String name){this.Libraryname=name;}public User UserComing() {int kind;User U;Scanner sc = new Scanner(System.in);System.out.println("如果你是老师请输入1,若是学生请输入2");while (true) {while(true){kind = sc.nextInt();if (kind == 1) {U = new Teacher();return U;} else if (kind == 2) {System.out.println("如果你是本科生请输入1,若是硕士研究生请输入2");while (true){kind=sc.nextInt();if(kind==1){U = new Undergraduate();return U;}else if(kind==2){U=new Master();return U;}else{System.out.println("输入错误");break;}}} else {System.out.println("输入错误");System.out.println("请重新输入:");break;}}}}public void addBook(Book b){book.add(b);}public void addBook(){int i;i=1;Book b;while(i==1){b=new Book();this.addBook(b);System.out.println("如果要继续输入书本信息就输入1,否则就输入2"); i=sc.nextInt();}}public Book SearchBook(){String BookName;Book b;System.out.println("请输入你要借查询的书");BookName=sc.next();for(int i=0;i<this.book.size();i++){b=(Book)this.book.elementAt(i);if(b.bookName.equals(BookName)){return b;}}return null;}public void ReturnBook(User U){User u;Book b;b=this.SearchBook();for(int i=0;i<b.BookUser.size();i++){u=(User) b.BookUser.elementAt(i);if(u==U){U.numBookBor--;b.BookUser.remove(i);b.surplus++;System.out.println("还书成功");return;}else {System.out.println("您不是这本书的借阅者,不能还书");return;}}System.out.println("找不到你要的书");}public void DeleteBook(){String BookName;Book b;System.out.println("请输入你要删除的书");BookName=sc.next();for(int i=0;i<this.book.size();i++){b=(Book)this.book.elementAt(i);if(b.bookName.equals(BookName)){if(b.BookUser.size()==0){this.book.remove(i);System.out.println("已经成功的删除书籍");}else {System.out.println("还有人尚未还书,不能够删除书籍");}}}}public void ShowBook(){Book b;for(int i=0;i<this.book.size();i++){b=(Book)book.elementAt(i);System.out.println((i+1)+"\t"+b.bookName+"\t"+b.auther+"\t"+b.bookNum+"\t"+b.depositTime.ge tYear()+"\t"+b.depositTime.getMonth()+"\t"+b.depositTime.getDay()+"\t"+b.surplus);}}public void ShowBook(Book b){System.out.println("\t"+b.bookName+"\t"+b.auther+"\t"+b.bookNum+"\t"+b.depositTime.getYear( )+"\t"+b.depositTime.getMonth()+"\t"+b.depositTime.getDay()+"\t"+b.surplus);}}User.javapackage pany;import java.util.Date;import java.util.Scanner;class User{public String name;public int numBookBor;//借书的数量//public Date borrowTime;public String Id;public Scanner sc=new Scanner(System.in); User(){}}class Students extends User{}//想想其实也不过如此class Undergraduate extends Students{Undergraduate(String sName,String id){=sName;this.Id=id;}Undergraduate(){System.out.println("请输入你的姓名:");=sc.next();System.out.println("请输入你的学号:");this.Id=sc.next();this.numBookBor=0;}}class Master extends Students{Master(String sName,String id){=sName;this.Id=id;}Master(){System.out.println("请输入你的姓名:");=sc.next();System.out.println("请输入你的学号:");this.Id=sc.next();this.numBookBor=0;}}class Teacher extends User{Teacher(String tName,String id){=tName;this.Id=id;}Teacher(){System.out.println("请输入你的姓名:");=sc.next();System.out.println("请输入你的工号:");this.Id=sc.next();this.numBookBor=0;}}Administrators/javapackage pany;import java.util.Scanner;public class Administrators {; private String passWod;Scanner sc=new Scanner(System.in);Administrators(){this.passWod="neu123";}public int getPassWord(){String passWord;for(int i=0;i<3;i++){System.out.println("请输入密码:");System.out.print("<<");passWord=sc.next();if( passWord.equals(this.passWod)){return 1;}else {System.out.println("密码错误,您还有"+(2-i)+"机会"); }}return 0;}public void changePassWord(){String passWord;for(int i=0;i<3;i++){System.out.println("请输入原密码:\n<<");passWord=sc.next();if( passWord.equals(this.passWod)){System.out.println("请输入新密码:\n<<");this.passWod=sc.next();break;}else {System.out.println("密码错误,您还有"+(2-i)+"机会"); }}}}欢迎您的下载,资料仅供参考!致力为企业和个人提供合同协议,策划案计划书,学习资料等等打造全网一站式需求。