文章目录

  • 前言
  • 项目需求
    • 设计前提
    • 设计目标
    • 设计结构图
    • 功能解读
    • 项目实现
      • 基本对象的设置
      • 通过IO流的写入写出
      • 总结

前言

相信再每一个学生在学习编程的时候,应该都会写的一个小项目——图书管理系统。为什么这么说呢?因为我认为一个学校的氛围很大一部分可以从图书馆的氛围看出来,而图书管理系统这个不大不小的项目,学生接触的多,也算是比较熟悉,就不会有陌生感,能够练手,有有些难度,所以,今天,我的小小项目也来了。

项目需求

设计前提

  • 掌握java基本语法
  • 熟悉使用流程控制
  • 理解面向对象思想
  • 熟练封装,继承,多态
  • 熟悉使用接口,异常
  • 熟悉使用集合
  • 熟悉掌握I/o流相关操作

设计目标

长期以来,学校都需要在图书馆设置志愿者在图书馆进行图书的借阅与整理,相对来说,比较麻烦,所以设计一个好的图书管理系统就显得很有必要,不过本次要做的肯定不是成品,只是一个简单的设计,通过IO流的输入输出,达到我们对数据的写入写出,对图书和用户的增删改查,让我们可以把所有的图书玩弄于股掌之间。

设计结构图

功能解读

  • 读者信息管理:包括读者信息添加和读者信息查询与修改功能。用户登录成功之后,可以浏览所有读者的信息,也可以检索特定读者的信息;同时,可以对读者信息进行维护,包括增加、删除及修改。
  • 图书信息管理:包括图书信息添加和图书信息查询与修改功能。用户登录成功之后,可以浏览所有图书信息和检索特定图书的信息;也可以对图书信息进行维护。包括添加图书、删除图书以及修改图书信息
  • 图书借阅管理:包括图书借阅和图书归还功能。图书借阅功能,先输入读者的编号,然后输入要借阅的图书的信息,记录系统当前时间即借阅时间;图书归还功能,输入读者的编号,选择其名下已借阅的图书,判断当前日期即归还日期与借阅日期的差值是否超过了规定的期限,计算罚金,从而进行图书的归还操作。
  • 基础信息维护:包括图书类别设置、读者类别设置及罚金设置。图书类别设置,可以对图书的类别进行增加、删除、修改和查询;读者类别设置可以对读者的类别进行增加、删除、修改和查询;罚金设置,可以指定超期一天的罚金标准。
  • 用户管理:包括修改密码、用户添加和删除。修改密码,是指当前用户修改自己的密码;用户添加和删除,是对新增和去除系统用户时对用户信息的维护。

项目实现

基本对象的设置

首先实现的是各个模块的建立比如图书,图书类别,用户,用户类别,借阅表者几个大的对象。

  • BookType
 /** 图书类型编号、图书类型名称 **/private int typeid;private String name;
  • BOOK
    /** 图书实体:图书编号ISBN、图书名称、作者、出版社、出版日期、数量、单价、图书类型 **/private int bookId;private String bookName;private String author;private String publish;private Date publishDate = new Date();private int count;private int price;
  • ReaderType
 /** 读者类型:读者类型编号、读者类型名称、可借阅天数、可借阅数量 **/private int typeid;private String Tupeidname;private int limit;private int maxborrownum;
  • Reader
 /** 读者实体:读者编号、读者姓名、出生日期、性别、电话、所在院系、注册日期、读者类别 **/private int readerid;private String name;private Birthday birthday = new Birthday();private String sex;private String phone;private String dept;private Date date = new Date();private ReaderType theReaderType = new ReaderType();

通过IO流的写入写出

  • 添加

  • 查找

利用集合的方式先将数据读入集合,最后退出时在一并读书数据,提高效率。也可以采用数据做一步写一步,这样虽然数据的更新会更及时,但是运行效率会制成降低,不建议这样写。

总结

因为每个人写都会有不一样的写法,我这个只是给大家一个参考性的作用,也不给大家分享界面设计这么简单的东西了。下面给大家分享两个资源,一个时简单的图书管理系统,仅实现了IO流的读入和读出,日志也写上了,在我的资源里面,大家可以下载查看。
查看这篇博客的人可以免费下载一个简单版的图书管理系统作为参考:在百度网盘里面。
链接:https://pan.baidu.com/s/1mILvcPKU6gwgSOGqDAvHqA
提取码:1234

图书管理系统(I/O)相关推荐

  1. Java项目:图书管理系统(java+SSM+jsp+mysql+maven)

    源码获取:博客首页 "资源" 里下载! 一.项目简述 功能包括(管理员和学生角色): 管理员和学生登录,图书管理,图书添加删除修改,图书 借阅,图书归还,图书查看,学生管理,借还管 ...

  2. 图书管理系统5W1H

    Who 图书管理员 When 图书管理员在图书馆借阅期间管理用户的借书还书,非借阅时间管理后台图书.管理用户信息 Where 借书台.办公室 What 一个图书管理系统,能实现图书的借书还书操作.管理 ...

  3. 【Java】阶段性总结练习------图书管理系统实现

    在学习了面向对象编程语法知识以及简单数据结构–顺序表等等知识点以后,现在我们就可以运用这些知识来综合实现一个 图书管理系统 ,来检验前面知识的掌握程度以及练习代码的实际编写能力,让自己对Java开发更 ...

  4. 图书管理系统前景与范围文档

    一.业务需求 1.应用背景 目前,学院的图书管理仍是传统的人工管理方式,该方式效率低.保密性差, 一方面教师.学生对学院图书室藏书情况不了解,图书室究竟有哪些图书也不知道,图书室的读者信息和借阅信息也 ...

  5. ASP.NET MVC CODE FIRST 图书管理系统 数据库

    ASP .NET MVC CODE FIRST 图书管理系统 本项目最后更新于2018-7-4,可能会因为没有更新而失效.如已失效或需要修正,请提issue! 我使用VS2017进行开发,框架是.NE ...

  6. 面对对象编程——用Python写一个图书管理系统

    问题描述 图书管理系统1.查询图书2.增加图书3.借阅图书4.归还图书5.退出系统 代码如下 # 书:书名,作者,状态,位置 # 管理系统: class Book(object):def __init ...

  7. s1考试 图书管理系统 结构体版

    #include <iostream> #include <string> #include <cstdio> #include <cstdlib> # ...

  8. C语言课程设计—图书管理系统

    这是本人大一第二学期初C语言课程设计的作品,嘿嘿,本来以为已经找不到原稿了,今天无意中居然在QQ网络硬盘中找到了当初的teta版,公布于此,以作纪念. C源码例如以下: #include<std ...

  9. 图书管理系统python怎么保存用户注册信息_Python实现图书管理系统

    Python实现图书管理系统 功能描述 1.界面分为两个部分,分别是(1)登录注册界面(2)图书管理系统界面 2.用户名和密码提前存储在列表中,输入用户名或密码错误提示重新输入,未注册的需要先注册帐号 ...

  10. 图书管理系统python源代码-Python实现图书管理系统

    本文实例为大家分享了python实现图书管理系统的具体代码,供大家参考,具体内容如下 import mysql.connector import sys, os import time import ...

最新文章

  1. 根据屏幕分辨率获取css,根据判断浏览器类型屏幕分辨率自动调用不同CSS的代码...
  2. TensorFlow 2——【module ‘tensorflow.compat.v1‘ has no attribute ‘contrib‘】解决方案
  3. WebForms UnobtrusiveValidationMode 需要“jquery”ScriptResourceMapping
  4. 自动登录(过滤器filter的应用)
  5. 进程线程区别,和线程初识
  6. 由mysql8降级到mysql5
  7. 连续七天熬夜3D建模师终于出手,让老板增加薪资待遇,分享使用3D建模软件的6个行业
  8. 原生JS事件中,return false 和 preventDefault() 的区别
  9. dubbo kryo序列化_Java后端精选技术:序列化框架的选型和比对
  10. 阿里巴巴 JAVA 开发手册
  11. dwm1000 用c语言控制,DWM1000 测距原理简单分析(示例代码)
  12. linux怎么用jconsole_怎么在linux jconsole
  13. 全国职业院校技能大赛网络搭建与应用赛项——云平台底层的一些命令
  14. ip-guard如何设置禁止网页版微信
  15. 完美实现苹果轮廓检测opencv-python检测图像轮廓处理
  16. java代理模式解析
  17. 科目一知识点口诀(考驾照顺手整理了一下课)
  18. 线性代数的本质--对线性空间、向量和矩阵的直觉描述
  19. 2022年京东NLP实习面试题7道
  20. 计算机自然语言处理专业排名,请大牛们推荐一些计算机专业自然语言处理或人工智能方面比较好的EI期刊 - 论文投稿 - 小木虫 - 学术 科研 互动社区...

热门文章

  1. 活动并发测试-1000个不同用户同时并发请求报名笔记
  2. 直播新秀之微信小程序直播
  3. VB、VBA、VBS的区别你搞清楚了吗?
  4. 数据库范式——(1NF,2NF,3NF,BCNF,含实例分析)
  5. opencv 中x,y,height, width,rows,cols 的关系
  6. c语言 电话簿 链表,C语言_链表_结构体_电话簿简单实现
  7. php刷脸登录,PHP实现微信小程序人脸识别刷脸登录功能
  8. 深入理解金融交易报文Iso8583协议
  9. 毕马威计算机测试题,2021年KPMG毕马威笔试含详解.doc
  10. 手机怎么使用涂鸦?分享几个手机视频怎么添加涂鸦的妙招