JAVA实现图书管理系统

收完作业回馈社会
JAVA练习的作业,题目如下:

设计一个图书管理系统类和用户类,要求具有以下功能:
(1). 查询和修改图书信息。
(2). 增加和删除图书信息。
(3). 个人借阅信息查询。
(4). 图书归还功能
(5). 用户管理功能和退出程序功能(注:用户信息可以保存在内存即可)

上代码:

User.java
public class User {
	String id;
	String name;
	int rentNumber;
	Book Rent[];
	User(String id,String name){
		rentNumber=0;
		this.id = id;
		this.name = name;
		Rent = new Book[15];
		for(int i=0;i<15;i++){
			 Rent[i]=new Book("Z999"," ");
		}
	}
	void RentBook(Book b){
		Rent[rentNumber]=b;
		rentNumber++;
	}
	void Return(String bookId){
		int key=13;
		for(int i=0;i<15;i++){
			if(bookId.equals(Rent[i].bookId)){
				key =i;
			}
		}
		for(int i=key;i<14;i++){
			Rent[key].setName(Rent[key+1].bookName);
			Rent[key].setId(Rent[key+1].bookId);
		}
		rentNumber--;
	}
	
	void RentList(){       //借阅信息
		if(rentNumber>0){
			System.out.println("当前借阅图书:");
			for(int i=0;i<rentNumber;i++){
				Rent[i].display();
			}
		}
		
		else System.out.println("当前无借阅图书");
	}
}

Ex8.java
class Book{   //图书类
	String bookId;
	String bookName;
	Book(String Id,String Name){
		bookId = Id;
		bookName = Name;
	}
	void setId(String Id){
		bookId = Id;
	}
	void setName(String name){
		bookName = name;
	}	
	void display(){
		System.out.println("Id:"+bookId+"  "+"书名:"+bookName);
	}
}

class Library{    //系统类
	Book bookList[];
	int bookNumber;
	Library(){
		bookNumber=0;
		 bookList = new Book[30];
		for(int i=0;i<30;i++){
			 bookList[i]=new Book("Z999"," ");
		}
	}
	void AddBook(Book b){  //增加
		bookList[bookNumber]=b;
		bookNumber++;
	}
	void FindBook(String Id){              //查询
		for(int i=0;i<30;i++){
			if(Id.equals(bookList[i].bookId)){
				bookList[i].display();
			}
		}
	}
	void RewriteBook(String Id,String Name){//修改
		for(int i=0;i<30;i++){
			if(Id.equals(bookList[i].bookId)){
				bookList[i].setName(Name);
			}			
		}
	}
	void DeleteBook(String Id){  //删除
		int key=28;
		for(int i=0;i<30;i++){
			if(Id.equals(bookList[i].bookId)){
				key =i;
			}
		}
		for(int i=key;i<29;i++){
			bookList[key].setName(bookList[key+1].bookName);
			bookList[key].setId(bookList[key+1].bookId);
		}
	}
}

public class Ex8{
	public static void main(String args[]){
		Book book1= new Book("A001","Python数据分析实战");
		Book book2 = new Book("A002","Python机器学习");
		Book book3 = new Book("A003","C++基础教程");
		Library library = new Library();
		library.AddBook(book1);     //增加图书
		library.AddBook(book2);
		library.AddBook(book3);
		library.FindBook("A002");    //查询图书
		library.RewriteBook("A001", "码农翻身");//修改图书
		book1.display();
		library.DeleteBook("A001");//删除图书
		User Bob = new User("20181532", "Bob");
		Bob.RentBook(book3);    //借阅图书
		Bob.RentList();         //个人借阅信息查询。
		Bob.Return("A003");     //归还图书
		Bob.RentList();  
				
	}
}

主要使用了对象数组。
没有用菜单,分为两个文件,User.java和Ex8.java运行效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值