Java如何实现简单图书借阅系统
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍"Java如何实现简单图书借阅系统"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"Java如何实现简单图书借阅系统"文章能帮助大家解决问题。为图
千家信息网最后更新 2026年11月01日Java如何实现简单图书借阅系统
这篇文章主要介绍"Java如何实现简单图书借阅系统"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"Java如何实现简单图书借阅系统"文章能帮助大家解决问题。
为图书阅览室开发一个图书借阅系统,最多可存50本图书,实现图书的管理。图书借阅系统具备以下主要功能。
u功能
借出排行榜
新增图书
查看图书
删除图书
借出图书
归还图书
退出
package com.daiinfo.seninorjava.ken8.implentment.utils;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Scanner;public class Bookborrowing { public static void main(String[] args){ int[] states=new int[50];//图书借阅状态 状态0:已借出,1:可借 int[] counts=new int[50];//图书借阅次数 String[] name=new String[50];//图书名称 String[] dates=new String[50];//图书日期 //初始化图书 states[0]=0; counts[0]=15; name[0]="数据结构"; dates[0]="2018-7-15"; states[1]=1; counts[1]=12; name[1]="数据库"; dates[1]=null; states[2]=2; counts[2]=30; name[2]="离散数学"; dates[2]=null; //外观界面 Scanner input=new Scanner(System.in); int num=-1;//用户输入0返回主菜单 boolean flage=false;//记录用户是否退出系统,true为退出,false为不退出 do { System.out.println("*************************************"); System.out.println("1、新增图书"); System.out.println("2、查看图书"); System.out.println("3、删除图书"); System.out.println("4、借出图书"); System.out.println("5、归还图书"); System.out.println("6、退出"); int choose=input.nextInt(); switch(choose){ case 0: int number=0; for(;name[number]!=null;number++) { }//求出当前书目总数 int[] sortBook=new int[number]; printBook(name,counts,number,sortBook); break; case 1: System.out.println("------>新增图书"); int a=0; for(;a查看图书"); System.out.println("序号\t状态\t名称\t借出日期\t"); for(int i=0;name[i]!=null;i++) { String situation=(states[i]==0)?"已借出":"可借"; System.out.println((i+1)+"\t"+situation+"\t《"+name[i]+"》\t"); if(states[i]==0) { System.out.println(dates[i]); }else { System.out.println(); } } System.out.println("*******************************"); break; case 3: System.out.println("------->删除图书"); System.out.println("请输入图书名称"); String book=input.next(); boolean check1=false;//判断是否找到删除图书名称,false找不到 for(int b=0;name[b]!=null;b++) { if(name[b].equals(book)) { check1=true; if(states[b]==1) { //图书未借出,可以删除 System.out.println("删除《"+book+"》成功!"); int i=b; for(;i借出图书"); System.out.println("请输入图书名称:"); String back=input.next(); boolean check2=false;//判断想要借出的书能否找到,false找不到,true找到 for(int b=0;name[b]!=null;b++) { if(name[b].equals(back)) {//书存在 check2=true; if(states[b]==1) { System.out.println("请输入借出日期(年-月-日):"); dates[b]=input.next(); while(judge(dates[b])==false) { System.out.println("日期非法,请重新输入"); dates[b]=input.next(); } states[b]=0;//将当前图书状态调成借出 counts[b]++;//当前图书借出次数加一 }else { System.out.println(name[b]+"已被借出!"); } break; } } if(check2==false) { System.out.println("没有找到匹配信息!"); } System.out.println("*********************************"); break; case 5: System.out.println("--------->归还图书"); System.out.println("请输入图书名称:"); String back1=input.next(); boolean check3=false;//判断归还的书能否找到,false找不到,true找到 for(int b=0;name[b]!=null;b++) { if(name[b].equals(back1)) {//书存在 check3=true; if(states[b]==0) {//如果书借出 System.out.println("请输入归还日期(年-月-日):"); String returnDate=input.next(); while(judge(returnDate)==false) { System.out.println("日期非法,请重新输入"); returnDate=input.next(); } System.out.println("归还《"+back1+"》成功!"); System.out.println("借出日期"+dates[b]); System.out.println("归还日期"+returnDate); int money=0; try { money=daysBetween(dates[b],returnDate); }catch(Exception e) { e.printStackTrace(); } System.out.println("该书没有被借出,无法执行操作"); } break; } } if(check3==false) { System.out.println("没有找到匹配信息!"); } System.out.println("*********************************"); break; case 6: flage=true; break; default: flage=true; break; } if(flage==true) { break; }else { System.out.println("输入0返回"); num=input.nextInt(); } }while(num==0); System.out.println("谢谢使用!"); } private static boolean judge(String str) { // TODO Auto-generated method stub SimpleDateFormat sd=new SimpleDateFormat("yy-MM-dd");//日期格式 try { sd.setLenient(false);//指定日期时间是否合格,true不合格,false合格 sd.parse(str); }catch(Exception e){ return false; } return true; } public static void printBook(String[] names,int[] sortBook,int number,int[] counts) { int[] another=counts.clone();//复制数组 int i=0; int max=another[0]; for(int p=0;p<=max;p++) { for(int q=0;q=0;x--) {//借出次数排行榜 System.out.println((number-x)+"\t"+names[sortBook[x]]+"\t\t"+counts[sortBook[x]]); } System.out.println("******************"); } public static int daysBetween(String smdate,String bdate) throws Exception{ SimpleDateFormat sdf=new SimpleDateFormat("yy-MM-dd"); Calendar cal=Calendar.getInstance(); cal.setTime(sdf.parse(smdate)); long time1=cal.getTimeInMillis(); cal.setTime(sdf.parse(bdate)); long time2=cal.getTimeInMillis(); long between_days=(time2-time1)/(1000*3600*24); return Integer.parseInt(String.valueOf(between_days)); }} 关于"Java如何实现简单图书借阅系统"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。
图书
日期
输入
借阅
系统
名称
状态
次数
知识
成功
信息
功能
排行榜
数据
用户
行业
不同
实用
书目
内容
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
博彦科技互联网金融
中关村互联网科技集团
河南真二互联网科技有限公司
互联网科技公司怎么样
上海卓越科技 互联网
上海电发互联网科技有限公司
玖二柒互联网科技公司待遇
深圳国际航运科技和互联网
哈尔滨新华互联网科技学院
来此购互联网科技有限公司
科技互联网大厂
杭州壁岐互联网科技有限公司
浙南科技城互联网大厦建设工程
爱医互联网络科技
滨湖区互联网智能科技产品有哪些
云南省自由互联网科技有限公司
富国互联网金融科技混合基金
互联网相关科技技术
从那以后互联网科技有限公司
萌小萌互联网科技河南有限公司
疫情对互联网科技公司影响
致骋互联网科技
世界互联网领先科技成果
大白互联网科技
盛创互联网科技有限公司
广州优美互联网科技
福州新华互联网科技学校 知乎
互联网科技大奖都有哪些公司
中国互联网十大科技股排名
山东大美朱楼互联网科技有限公司