2017.12.14 Java实现-----图书管理系统

通过对图书的增删改查操作 用数组实现

Manager类

package demo55;
import java.util.*;
public class Manager {
	Scanner sc = new Scanner(System.in);
	int size = 0;
	
	public void Menu(){	
		int num;
			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("请选择");
			num = sc.nextInt();
			
			switch (num) {
			case 1:
				System.out.println("1.查看图书");
				System.out.println("图书名称	图书状态	借出次数");
				//init();    这里不能放在这里不然size会自动增加  4、5、6
				//查看图书(遍历数组)
				for(int i= 0;i<size;i++){
					String content ="";
					if(books[i].status==0)
					{
						System.out.println("未借");
						}else{
							System.out.println("已借");
							}
					
					System.out.println(books[i].Bookname+"	"+books[i].lendCount+"	"+books[i].status);
				}
				break;
			case 2:
				addBook();//构造方法	
				break;
			case 3:
				System.out.println("3.删除图书");
				break;
			case 4:
				System.out.println("4.修改图书");
				break;
			case 5:
				System.out.println("5.借书图书");
				break;
			case 6:
				System.out.println("6.还书图书");
				break;
			case 7:
				System.out.println("7.退出");
				break;
			case 8:
				System.out.println("8.排行榜");
				break;
				
			default:
					
				break;
				}
				method();//记得写入这个方法	
			}
	
	String answer = null;
	public void method(){
		System.out.println("是否继续(Y/N):");
		answer= sc.next();
		if(answer.equalsIgnoreCase("y")){
			Menu();
		}else{
			System.out.println("欢迎下次使用!");
		}
	}
	
	Book[] books = new Book[50];//生成对象数组
	public void init(){   //初始化三本书的方法
		//第一本书
		books[0]= new Book();    //创建book[0] 的一个对象 
		books[0].Bookname = "活着";
		books[0].lendCount = 0;
		books[0].status = 1;
		size++;
		
		//第二本书
		books[1]= new Book();
		books[1].Bookname = "希望";
		books[1].lendCount = 0;
		books[1].status = 1;
		size++;
		
		//第三本书
		books[2]= new Book();
		books[2].Bookname = "软件工程";
		books[2].lendCount = 0;
		books[2].status = 1;
		size++;
	}
	
	
	//2.添加图书操作
	public void addBook(){
		System.out.print("2.添加图书");
		System.out.println("请输入你要添加的书名:");
		String inputbookname = sc.next();
		
		//创建新图书的一个对象
		Book newBook = new Book();
		newBook.Bookname = inputbookname;
		
		//把新创建的图书对象存入到数组中的位置,
		//books[3]= new Book();这个方法定死了
		for(int i=0;i<books.length;i++){
			if(books[i]==null){
				books[i]=newBook;
				size++;
				break;//如果没有加这个就会输出50本书
			}
		}
		/*通过size来控制当前位置
		 
		  books[size] = newBook;
		  size++;//size要改变,+1
		  */	
	}
	
	
	//检索图书的存在
	public int searchBook(String delBookName){
		for(int i=0;i<size;i++){
			if(books[i].Bookname.equals(delBookName)){
				return i;
			}
		}
		return -1;//没有找到书
	}
	public void delBook(){
		System.out.println("请选择你需要删除的图书名字:");	
		String delBookName = sc.next();
		
		//输入的  书去数组库中检索,检索到了,则返回当前此书的下标
		int index = searchBook(delBookName);
		if(index!=-1){
			if(books[index].status==0){
				//可以删除
				books[index] = null;
				System.out.println("恭喜,已成功删除图书!");
				//每次删除一本新书,size-1
				size--;
				
				//位置
				while(books[index]!=null){
					books[index] = books[index+1];
					index++;
				}
				
				//查看所有图书
				
				
			}else{
				//不可以删除
				System.out.println("此书为已借出状态,不可删除!");
			}
		}else{
			//此书不存在
			System.out.println("你输入的删除图书不存在");
		}
	}
}
原文地址:https://www.cnblogs.com/qichunlin/p/8040304.html