基于java的图书借阅管理系统,用java实现一个简单的图书管理系统
本文分享Java图书借阅系统的具体代码,供大家参考。具体如下。
为阅览室开发图书借阅系统,最多可存储50本书,实现图书的管理。图书借阅系统有以下主要功能。
u函数
借出名单
新书
查看书籍
删除书籍
借书
还书
离开
包com . Dai info . seninorjava . ken 8 . implement . utils;导入Java . text . simple date format;导入Java . util . calendar;导入Java . util . scanner;public class借款{ public static void main(String[]args){ int[]States=new int[50];//图书借阅状态status 0: lent,1:可借int[]counts=new int[50];//借书数量String[]name=new String[50];//图书名称String[]dates=new String[50];//图书日期//初始化图书状态[0]=0;counts[0]=15;Name[0]=数据结构;日期[0]= 2018-7-15 ;状态[1]=1;counts[1]=12;name[1]= database ;日期[1]=空;状态[2]=2;counts[2]=30;名称[2]=离散数学;日期[2]=空;//外观界面扫描仪输入=新扫描仪(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,exit );int choose=input . nextint();switch(choose){ case 0: int number=0;for(;姓名[号码]!=nullNumber) {}//查找当前书目总数int[]sort book=new int[number];印刷本(名称、计数、数量、分类本);打破;案例1: system.out.println ( -新书);int a=0;for(;aname.lengtha){ if(name[a]==null){ system . out . println(请输入图书名称);name[a]=input . next();//成功输入书名system . out . println(/n Add 《"+name[a]+"》! );//在数组states[a]=1中存储图书信息;数数
s[a]=0; dates[a]=null; break; } } if(a==50) { System.out.println("书架已满,勿加"); } System.out.println("******************************"); break; case 2: System.out.println("------>查看图书"); 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<name.length-1;i++) { states[i]=states[i+1]; name[i]=name[i+1]; dates[i]=dates[i+1]; counts[i]=counts[i+1]; }//将数组内容前移 break; }else { System.out.println("图书已借出,无法删除!"); break; } } } if(check1==false) { System.out.println("没有找到匹配信息!"); } System.out.println("*************************"); break; case 4: System.out.println("--------->借出图书"); 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<number;q++) { if(counts[q]==p) { sortBook[i++]=q; } } } System.out.println("序号t"+"书名t"+"借出次数"); for(int x=(number-1);x>=0;x--) {//借出次数排行榜 System.out.println((number-x)+"t"+names[sortBook[x]]+"tt"+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)); }}以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持盛行IT。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。