简单的图书管理系统

主函数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("书名	是否借出	借出次数");
		//输出每本图书信息
		for (int i = 0; i < size; i++) {
			//用size来控制输出的图书
			System.out.println(book[i].name+"	"+book[i].state+"	"+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("书名	是否借出	借出次数");
		//冒泡排序
		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+"	"+book[i].state+"	"+book[i].time);
		}
	}

}

  

原文地址:https://www.cnblogs.com/www-x/p/8040313.html