简单的图书管理系统 - 野心家
主函数Test方法,负责调用
public class Test { public static void main(String[] args) { Manage menu1=new Manage(); menu1.Init(); menu1.menu(); //menu1.Look(); } }
Book方法负责存放图书属性
public class Book { //图书名 String name; //图书借书状态 String state; //借书次数 int time; }
Manege方法负责图书的各种管理
import java.util.Scanner; public class Manage { private static final String DelBookName = null; Scanner input=new Scanner(System.in); //初始化数组 Book[] book=new Book[30]; //用size控制图书数量 int size=0; //初始化图书是否借出 boolean state = false; //数组下标 int index; //图书管理菜单 public void menu(){ String in="Y"; boolean flag=true; while(flag){ System.out.println("========图书管理系统========"); 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(" 7、退出"); System.out.println(" 8、排行榜"); System.out.println("请输入你的选择:"); int select=input.nextInt(); switch(select){ case 1: //查看图书 Look(); break; case 2: //添加图书 Add(); break; case 3: //删除图书 Del(); break; case 4: //借阅图书 Borrow(); break; case 5: //归还图书 Return(); break; case 6: //修改图书信息 Update(); break; case 7: //系统退出 System.out.println("你已经退出图书管理系统,欢迎下次登陆"); System.exit(0); break; case 8: //排行榜 Arrange(); break; default: System.out.println("没有该选项"); } System.out.println("是否继续:(Y/N)"); in=input.next(); if (in.equalsIgnoreCase("Y")) { flag=true; }else{ flag=false; } } } //初始化三本书 public void Init(){ //创建第一本书空间 book[0]=new Book(); //初始化第一本书 book[0].name="三国演义"; book[0].state="已借";//已借 book[0].time=51; size++; //创建第二本书空间 book[1]=new Book(); //初始化第二本书 book[1].name="西游记"; book[1].state="未借";//未借 book[1].time=22; size++; //创建第三本书空间 book[2]=new Book(); //初始化第三本书 book[2].name="水浒传"; book[2].state="未借"; book[2].time=12; size++; } //1、查看图书 public void Look(){ System.out.println("查看图书"); System.out.println("书名\t是否借出\t借出次数"); //输出每本图书信息 for (int i = 0; i < size; i++) { //用size来控制输出的图书 System.out.println(book[i].name+"\t"+book[i].state+"\t"+book[i].time); } } //2、增加图书 public void Add(){ System.out.println("添加图书"); System.out.println("请输入图书名:"); //输入图书名 String inputBook=input.next(); //新建一个对象,保存新添入的图书 Book newBook=new Book(); //将输入的图书名赋值给新建的对象 newBook.name=inputBook; //在数组中开辟一个空间存放新书 book[size]=newBook; book[size].state="未借"; System.out.println("添加图书成功!!"); //存放完后size++ size++; } //判断图书是否存在, //如果找到,返回存放图书的下标;如果未找到,返回-1; public int Search(String inputNameBook){ //从第一本书开始找,找到最后一本书的存放位置 for (int i = 0; i < size; i++) { if (book[i].name.equals(inputNameBook)) { //找到想删除图书的下标 return i; //return 可以退出整个方法 } } //如果未找到,返回-1 return -1; } //3、删除图书 public void Del(){ System.out.println("删除图书"); System.out.println("请输入需要删除的图书名:"); String delNameBook=input.next(); //接收图书是否找到的信号 int index=Search(delNameBook); //如果此书存在,查看图书状态 if(index!=-1){ //如果图书处于未借,可以进行删除 if(book[index].state=="未借"){ //进行删除 book[index]=null; System.out.println("成功删除!!"); //每删除一本书,size都要减1 size--; //如果想删除图书的下一位不为空,则进行移位 while(book[index+1]!=null){ //后一本图书向前移动 book[index]=book[index+1]; index++; } }else{//如果处于已借,提示不能借出 System.out.println("此书借出,不能删除!!"); } }else{ //此书不存在 System.out.println("此书不存在"); } } //4、借阅图书 public void Borrow(){ System.out.println("借阅图书"); System.out.println("请输入需要借阅的图书名:"); String delNameBook=input.next(); //接收图书是否找到的信号 int index=Search(delNameBook); //如果书库里有这本书 if(index!=-1){ //如果该书未借出,可以借阅 if(book[index].state=="未借"){ //将需借阅的图书下标改为已借阅 book[index].state="已借"; //借阅次数加1 book[index].time++; System.out.println("借阅成功!!"); }else{ //如果该书借出,不可以借出 System.out.println("该书已借出,不能再次借阅!"); } }else{ //如果这本书不存在 System.out.println("该书不存在,不能借阅"); } } //5、归还图书 public void Return(){ System.out.println("归还图书"); System.out.println("请输入需要归还的图书名:"); String delNameBook=input.next(); //接收图书是否找到的信号 int index=Search(delNameBook); //如果书库里有这本书 if(index!=-1){ //如果该书已借出,可以借阅 if(book[index].state=="已借"){ //将需借阅的图书下标改为未借 book[index].state="未借"; System.out.println("归还成功!!"); }else{ //如果该书未借,不可以还书 System.out.println("该书未借出,不能再次归还!"); } }else{ //如果这本书不存在 System.out.println("该书不存在,无法归还"); } } //6、修改图书信息 public void Update(){ System.out.println("修改图书信息"); System.out.println("请输入需要修改的图书名:"); String updateNameBook=input.next(); //由于借阅次数和图书状态不用改变,所以需改变的只有图书名 //查找图书是否存在,不存在则返回-1,存在返回图书索引 int index=Search(updateNameBook); //如果书库里有这本书 if(index!=-1){ System.out.println("你想修改为的图书名"); String updateName=input.next(); if(book[index].name.equals(updateName)){ System.out.println("输入的图书名重复"); }else{ //可以修改图书名 book[index].name=updateName; System.out.println("修改成功"); } }else{ //如果这本书不存在 System.out.println("该书不存在,无法修改图书名"); } } //8、排行榜 public void Arrange(){ System.out.println("图书排行榜"); //按图书借出次数排列 System.out.println("书名\t是否借出\t借出次数"); //冒泡排序 for (int i = 0; i < size-1; i++) { for (int j = 0; j <size-i-1; j++) { if(book[j].time<book[j+1].time){ Book temp=book[j]; book[j]=book[j+1]; book[j+1]=temp; } } } for (int i = 0; i < size; i++) { System.out.println(book[i].name+"\t"+book[i].state+"\t"+book[i].time); } } }