JAVA实现简单的图书管理系统

xiaoxiao2021-02-28  53

初步的去学习使用java来编写一个微型的图书管理系统。在这个里面实现几个功能。 (1)查询现有图书 (2)新增图书 (3)借阅图书 (4)归还图书 (5)删除图书 (6)退出系统 这编写这个小控制台程序的时候,是真的充分体会了所学非所得。这个程序其实意义上也就是数组和循环还有判断条件的灵活使用,但是在学习以上的那些元素的时候,是真的觉得简单,但是在实际上来解决这个系统的要求确实是有些麻烦。 整个系统用的是swtich的选择结构来判断所需要的功能再加以实现 查询功能的实现 首先知道的是图书有几个属性:图书的名称,图书在整个系统中处于什么状态,图书需要被借的日期,图书已经被借过的次数 这些东西都是利用数组来实现的,因为没有去学习JAVA里的动态数组,所以是用简单的一维数组的多次使用来储存信息 名称用string字符串数组,其他的都使用int型数组来表示,其中判断状态的多用一个bollean判断 然后再在数组之中进行查询 其次我觉得麻烦一点的是删除功能,因为删除的话要判断是否会超过数组的长度,所以一定要记得加上一个if()的判断语句来判断。 整个图书管理系统代码:

import java.util.Scanner; public class Try { public static void main(String[] args){ Scanner a=new Scanner(System.in); //第一步书数据的初始化 //图书的名称 图书的借阅状态 图书的借阅日期 图书的借阅次数 //给存在的书进行空间的划分 String[] name=new String[6]; int States[]=new int[6];//0可借 1已经借出 int dates[]=new int[6]; int Count[]=new int[6]; //初始化已经拥有的图书 name[0]="白雪公主"; States[0]=1; dates[0]=15; Count[0]=13; name[1]="西游记"; States[1]=0; dates[1]=0; Count[1]=18; name[2]="三国志"; States[2]=0; dates[2]=0; Count[2]=23; boolean flag=true; //用户是否退出系统 int num; 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.退出系统*****"); System.out.println("请进行你的操作"); int input=a.nextInt(); switch(input){ case 1://查询 System.out.println("图书列表"); System.out.println("图书序号\t图书名称\t图书状态\t借阅时间\t借阅次数"); //遍历所有图书的信息来显示 for(int i=0;i<name.length;i++){ if(name[i]!=null){ String state=(States[i]==0?"可借阅":"已借出"); String date=(dates[i]==0?" ":dates[i]+"日"); String Count1=Count[i]+"次"; System.out.println((i+1)+"\t"+name[i]+"\t"+state+"\t"+date+"\t"+Count1); }else{ //遇到第一个为null的空数组元素后面亦为空 break; } } break; case 2: //新增图书; for(int i=0;i<name.length;i++){ if(name[i]!=null){ }else{ name[i]=a.next(); System.out.print(name[i]); break; } } break; case 3: //借阅图书; System.out.println("请借阅您想要的书籍"); String s=a.next(); for(int i=0;i<name.length;i++){ if(name[i]==null){ System.out.print("没有你想要的书"); }else if(name[i].equals(s)&&States[i]==0){ System.out.print("请输入借阅时间"); dates[i]=a.nextInt(); while(dates[i]<1||dates[i]>31){ System.out.print("输入不正确,请重新输入"); dates[i]=a.nextInt(); } System.out.print("借书成功"); States[i]=1; Count[i]++; break; } } break; case 4: //归还图书; System.out.println("请归还图书"); String guihuan=a.next(); for(int i=0;i<name.length;i++){ if(name[i].equals(guihuan)&&States[i]==1){ States[i]=0; dates[i]=0; System.out.print("还书成功"); break; }else if(name[i]==null){ System.out.print("非馆藏书籍,请重新输入"); } } break; case 5: //删除图书; int index=-1; System.out.print("请删除不需要的老图书"); String delete=a.next(); for(int i=0;i<name.length-1;i++){ if(name[i].equals(delete)){ index=i; break; } } if(index!=-1){ for(int i=index;i<name.length;i++){ if(i!=name.length-1){ name[i]=name[i+1]; dates[i]=dates[i+1]; Count[i]=Count[i+1];} } System.out.print("删除成功"); } break; case 6: //退出系统; flag=false; break; default: flag=false; //输入错了,退出 break; } if(!flag){ //跳出循环 break; }else{ System.out.print("请输入0返回主菜单"); num=a.nextInt(); } }while(num==0); System.out.println("谢谢使用"); } }
转载请注明原文地址: https://www.6miu.com/read-77664.html

最新回复(0)