今天再给大家分享一个小项目:MiNi图书管理系统。用的是Java语言开发的,代码不多,大概260行左右吧,系统是实现图书的新增图书、删除图书、借阅图书、归还图书、查看图书等简单的功能(后附源代码)!

  首先展示一下运行界面效果图:运行代码后,会在控制台显示如下界面:

f5234fb280a0028a171d20eaf1e466dc.png

  然后让用户选择,如果用户不小心或者误输入了错误的数,会再次让用户进行输入。

  当用户输入2后,可以查看图书,会显示已有的图书:

包括图书书名、借阅状态、借阅次数、借阅日期等信息。

681926478e48b529dcd2db459a726a43.png

  当用户输入1后,可以新增图书,再次让用户输入新增的图书名字,这里博主用mybook,效果如下:

1ea8d5c34e43986afb2ac540590af3bf.png

  当用户输入3后,可以借阅图书。让用户再次输入借阅的图书名,如果输入的名字没在图书馆,则不可以借阅;如果在馆,且状态是已借出,也不能再次借阅;如果在馆,且状态是可借阅,则可以进行借阅。

8ca109765486fe41919b65a1db7ba106.png

  当用户输入4后,可以归还图书。再次让用户输入归还的图书名,同理,如果图书馆找不到该名字,提示用户不是本图书馆的书,不用归还;如果找到该书的名字,且状态是可借阅的,也不能归还;如果找到该书,且状态是已借出,则可以进行图书的归还。同时,还要让用户输入归还的日期,并对归还的日期进行判断,如果日期小于借阅的日期,则提示用户归还日期必须大于借阅日期,让用户再次输入,输入成功后,则显示归还成功。

4f64bb5029bf2865ace5c535d0adca1a.png

  当用户输入5后,可以进行删除图书的操作。如果该馆找不到用户输入的书名,则提示用户不是本图书馆的书,不用归还;如果找到,且状态是已借出,则不能归还;如果找到该书,且书的状态是可借阅的,则可以进行删除图书的操作。

c0db0c69bc5a8022befc0e8511661921.png

  当用户输入6后,就退出系统。

6a3ab3055b260477694f87ae0f9e6181.png

  源代码如下:

  1 package cn.kgc.sg.MiTuSys;  2   3 import java.util.Scanner;  4   5 public class MiNiBookMgrSys {  6     public static void main(String[] args) {  7         Scanner sc = new Scanner(System.in);  8         //初始化书本信息  9         String[] bookNames = new String[6]; 10         int[] borrowDates = new int[6]; 11         int[] borrowCounts = new int[6]; 12         int[] states = new int[6]; 13          14         //初始化三本书 15         bookNames[0] = "安徒生童话"; 16         borrowDates[0] = 15; 17         borrowCounts[0] = 16; 18         states[0] = 0;//0:可借阅  1:已借出 19          20         bookNames[1] = "格林童话"; 21         borrowDates[1] = 0; 22         borrowCounts[1] = 0; 23         states[1] = 1;//0:可借阅  1:已借出 24          25         bookNames[2] = "Java开发"; 26         borrowDates[2] = 0; 27         borrowCounts[2] = 0; 28         states[2] = 0;//0:可借阅  1:已借出 29          30         int num = -1;//初始化用户输入的数字 31         boolean flag = true;//true:不退出系统  false:退出系统 32         do{ 33             System.out.println("************欢迎使用MiNi图书管理系统**********"); 34             System.out.println("1.新增图书"); 35             System.out.println("2.查看图书"); 36             System.out.println("3.借阅图书"); 37             System.out.println("4.归还图书"); 38             System.out.println("5.删除图书"); 39             System.out.println("6.退出系统"); 40              41             System.out.print("请选择:"); 42             int choose = sc.nextInt(); 43             while(choose<0 || choose>6){ 44                 System.out.print("输入有误,重新输入:"); 45                 choose = sc.nextInt(); 46             } 47             switch(choose){ 48                 case 1:     49                     System.out.println("************1.新增图书**********"); 50                     System.out.print("请输入新增图书的名字:"); 51                     String addBook = sc.next(); 52                     boolean isAdd = false;//false:不能添加图书   true:可以添加图书 53                     //遍历数组,查找新增图书的位置 54                     for(int i =1;i 31){111                                 System.out.print("输入有误,重新输入:");112                                 borrowRiQi = sc.nextInt();113                             }114                             System.out.println("借阅成功!!!");115                             //更改借阅日期116                             borrowDates[i] = borrowRiQi;117                             //更新借阅状态118                             states[i] = 1;119                             //更新借阅次数120                             borrowCounts[i]++;121                             break;122                         }else if(bookNames[i] != null && bookNames[i].equals(borrowName) && states[i] == 1){123                             //如果可以找到书,且书的状态是已借出,不能借阅124                             isBorrow = true;125                             System.out.println("书已经借出,不能重复借阅!");126                             break;127                         //if(bookNames[i] == null)128                         //if(!bookNames[i].equals(borrowName))129                         }/*else if(bookNames[i] == null){130                             isBorrow = false;131                             break;132                         }*/133                     }134                     if(!isBorrow){135                         //bookNames[i] == null,说明 找不到书136                         System.out.println("抱歉,找不到该书!!!");137                         break;138                     }139                     break;140                 case 4:    141                     System.out.println("4.归还图书");142                     System.out.print("请输入您要归还图书的名字:");143                     String returnName = sc.next();144                     boolean isReturn = false;//true:能归还145                     for(int i = 0;i 31 || returnRiQi 31){162                                     System.out.print("输入的日期有误,重新输入:");163                                     returnRiQi = sc.nextInt();164                                 }else if(returnRiQi

  小伙伴可以多多互动,一起多交流交流!!!O(∩_∩)O

  喜欢前端、后端java开发的可以加+qun:609565759,有详细视频、资料、教程,文档,值得拥有!!!希望可以一起努力,加油ヾ(◍°∇°◍)ノ゙!!!

  B站有上传的更多项目视频,从Java基础到面向对象、Java高级API,以及SSM等框架的视频,地址:https://www.bilibili.com/video/BV15a411w7Jh

1da077acf5964ba936ad5b1cb23712e3.png
0dffab184dccb944dbaf18d355025edb.png
fb6605505e60cbccacd7a0b1f6cd3e32.png
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐