• 项目:图书借阅系统
  • 项目简介:开发一个图书借阅系统,包括图书常用的查看、新增、删除、借出、归还等功能
  • 开发工具:eclipse
  • 语言:Java
  • 知识点:程序控制结构、数组、IO

模块流程划分

将整个系统规划为三个文件来书写:
  • Stsrt.java:程序入口->>main()函数,BookMgr类的声明和方法的调用
  • BookSet.java:图书变量以及getters和setters的定义
  • BookMgr.java:变量的初始化,菜单,功能方法的实现
程序执行效果图:


以下只给出源码框架,需要查看完整代码的可于微信搜索公众号“钥道不止”或“suoyue_zhan”或下方直接扫码关注并在后台回复“524055”即可获取完整代码

源码框架:
  • Stsrt.java:此处可设置系统登录密码
package com;public class Start {public static void main(String[] args) {BookMgr dm = new BookMgr();dm.initial();dm.startMenu();}
}
  • BookSet.java:getters和setter的定义,可使用eclipse快速生成
    菜单导航栏->Source->Generate Getters an Setters
package com;public class BookSet {String[] name = new String[50];       //数组1存储图书名称int[] state = new int[50];          //数组2存储图书借出状态:0->已借出 / 1->可借String[] date = new String[50];       //数组3存储图书借出日期int[] count = new int[50];            //数组4存储图书借出次数
}
  • BookMgr.java:功能实现,主要是数组的操作
    Java 在线API中文手册:http://www.matools.com/api/java8
package com;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Scanner;
import java.util.Date;public class BookMgr {//创建图书对象BookSet book = new BookSet();//已借出书籍数量private int lendCount = 0;//未借出书籍数量private int existCount = 0;//每一次的暂存租金private long charge;//getters/setters方法/*** 初始化四个图书*/public void initial() {book.name[0] = "数据结构";book.state[0] = 0;book.date[0] = "1997-7-1";book.count[0] = 12;book.name[1] = "数据库";book.state[1] = 1;book.count[1] = 14;book.name[2] = "Java手册";book.state[2] = 1;book.count[2] = 8;book.name[3] = "算法核心";book.state[3] = 1;book.count[3] = 4;}/*** 开始菜单*/public void startMenu() {System.out.println("欢迎使用图书借阅系统");System.out.println("-------------------------------------");System.out.println("0. 退     出");     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.print("--------------------------------------\n");System.out.println("请选择:");Scanner input = new Scanner(System.in);int choice = input.nextInt();switch(choice) {case 0:            //退出break;case 1:           list();returnMain();break;case 2:add();break;case 3:search();returnMain();break;case 4:delete();break;case 5:lend();break;case 6:returnbook();break;default:System.out.println("输入有误,请重新输入...");   returnMain();}input.close();        }/*** 返回主菜单*/public void returnMain() {Scanner input = new Scanner(System.in);System.out.println("输入 0 返回:");if(input.nextInt() == 0) {startMenu();}else {System.out.println("输入错误, 异常终止!");}input.close();}/*** 借出排行榜* @return*/public String[] list() {//定义新数组,用来存放排序后图书信息String[] newname = new String[50];int[] newcount = new int[50];System.out.println("---> 排行榜\n");System.out.println("**************************");System.out.println("次数\t名称");//显示排行榜信息for(int i=newname.length-1;i>=0;i--) {if(newname[i] != null) {System.out.println(newcount[i]+"\t<<"+ newname[i]+ ">>" );}}System.out.println("**************************");return newname;}/*** 新增图书*/public void add() {//为方便测试,拆分方法为键盘输入方法和核心追加书籍方法System.out.println("---> 新增图书\n");       System.out.print("请输入图书名称: ");String name = getInputData();addBook(name);System.out.println("**************************");returnMain();}/*** 键盘输入数据,用于新增图书和删除图书的输入* @return*/private String getInputData() {Scanner input = new Scanner(System.in);String name = input.next();return name;}/*** 追加图书* @param naem* @return*/public BookSet addBook(String name) {return book;}/*** 查看图书*/public void search() {}/*** 删除图书*/public void delete() {System.out.println("---> 删除图书\n");System.out.print("请输入图书名称: ");String name = getInputData();//为方便测试用例,抽出一个方法deleteBook(name);returnMain();}/*** 删除图书的核心方法* @param name*/public void deleteBook(String name) {}/*** 借出图书*/public void lend() {}/*** 借出图书的核心方法* @param want* @param lendDate*/public void lendBook(String want,String lendDate) {}/*** 归还图书*/public void returnbook() {}/*** 归还图书并计算租金*/public void returnbook(String want, String redate) {}/*** 计算日期差** @param dstr1 第一个日期* @param dstr2 第二个日期*/public long charge(String dstr1, String dstr2) {return  0;}}

Java实战案例一:图书借阅系统相关推荐

  1. 基于java springboot android 安卓图书借阅系统源码(毕设)

    开发环境及工具: 大于等于jdk1.8,大于mysql5.5,idea(eclipse),Android Studio 技术说明: springboot mybatis html vue.js boo ...

  2. 【Java之简易[图书借阅系统]】戳进来看看

    大家好,今天给大家带来本人的自主编写的简易版[图书借阅系统],权当做个人的实战练习和学习作品!老师说过三分看,七分练! 成果展示: 一.设计需求 请设计一个图书借阅系统,实现图书信息的展示,借阅,还书 ...

  3. 基于JAVA图书借阅系统的设计与实现计算机毕业设计源码+系统+lw文档+部署

    基于JAVA图书借阅系统的设计与实现计算机毕业设计源码+系统+lw文档+部署 基于JAVA图书借阅系统的设计与实现计算机毕业设计源码+系统+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开发语 ...

  4. [附源码]java毕业设计图书借阅系统

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  5. 图书借阅java设计报告_JAVA课程设计报告图书借阅系统.pdf

    课 程 设 计 课程设计名称: java课程设计 专 业 班 级 : 计科10 级4 班 学 生 姓 名 : 学 号 : 指 导 教 师 : 课程设计时间: 2012.6.18-2012.6.30 计 ...

  6. Java窗体图书管理系统Java图书借阅管理系统(图书借阅系统)

    Java窗体图书管理系统Java图书借阅管理系统(图书借阅系统)

  7. java基于springboot +vue的图书馆图书借阅系统 nodejs前后端分离

    随着社会的进步,人民生活水平的提高,越来越多的人开始重视自己精神方面的提高,图书成为越来越多人的选择,随之而来的是图书馆借还图书的火热.越来越多的人开始选择读书,借阅书籍,过去传统的手工操作式的租赁方 ...

  8. Java——图书借阅系统

    ** 项目需求: ** 为图书阅览室开发一个图书借阅系统,最多可存50本书,实现图书的管理.图书借阅系统具备以下功能: 1.查看图书信息 菜单选择查看功能,展示当前所有图书的相关信息,效果如下. ca ...

  9. java javawebjsp图书借阅系统(jsp图书管理系统 )jsp书籍借阅系统

    java javawebjsp图书借阅系统(jsp图书管理系统 )jsp书籍借阅系统 protected void doGet(HttpServletRequest req, HttpServletR ...

最新文章

  1. java显示当月数据_Java统计当月与往月数据 使用StringTemplate
  2. axure 下拉多选 元件_Axure教程:下拉多选列表集合(多选下拉列表+单选下拉列表+分级下拉列表)...
  3. [转帖]Mootools源码分析-04 -- Array
  4. webpack使用插件将css抽取出来
  5. vue检测不到data里数组里面元素的变化
  6. orbeon form 通过 url 的方式同第三方应用集成的开发明细
  7. ABAP的一个新关键字 - How does FROM lookup_tab work
  8. rest和rest ful_还有更多REST技巧
  9. Java 反射(Array相关)
  10. 软件基本功:代码要有道理
  11. springboot+vue3+elementui plus进销存源码
  12. c++ 中 setw()函数
  13. 2020-2022年最全各省、市矢量和栅格数据(土地利用、植被覆盖、土壤类型、人口密度、NPP、气象水文数据、路网、省市县乡镇区划边界、poi数据、河流水系、建筑轮廓)
  14. 100M宽带能下载多快? 关于带宽的下载速度研究
  15. 分别使用while、do-while和for循环输出1-1000中含有7或者7倍数的整数之和及个数-详解
  16. PHP容器--Pimple运行流程浅析
  17. CentOS7下利用qBittorrent+Flex搭建自己的在线视频播放站
  18. 判断用户是否登录成功
  19. 常见字母组合发音规律
  20. hdu 4009 Transfer water(最小树形图模板)

热门文章

  1. 【Try to Hack】OllyDbg反汇编
  2. 应届毕业生、公务员面试题面试技巧
  3. freertos定位问题常用调试信息(内存、任务、信号量)
  4. vue-pdf预览乱码问题、打印乱码多一页空白问题
  5. 商学院学生必看的20部电影
  6. 查看oracle的sga的大小,查寻Oracle的后台进程和SGA的大小
  7. MPlayer上支持RTSP流媒体(live555作为流媒体播放器)
  8. c语言程序设计 下 答案,C语言程序设计含答案.doc
  9. Unity实战篇 | 接入 声网SDK 实现 视频通话——自己动手做一个 视频通话
  10. 软件测试理论基础知识详解(新手入门必看)