zoukankan      html  css  js  c++  java
  • 简单的图书管理系统

    主函数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);
    		}
    	}
    
    }
    

      

  • 相关阅读:
    array_keys
    strval
    is_numeric
    php static延迟静态绑定
    page39 类的访问权限控制
    page34类的继承
    被遗忘在角落的类型检查函数
    2.2.5重写静态变量
    2.2.3使用parent作用域
    16个最棒的WordPress博客写作发布工具【博主桌面工具】
  • 原文地址:https://www.cnblogs.com/www-x/p/8040313.html
Copyright © 2011-2022 走看看