图书馆图书管理系统Word文件下载.docx
《图书馆图书管理系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《图书馆图书管理系统Word文件下载.docx(19页珍藏版)》请在冰豆网上搜索。
。
/*
*@(#)BookManager.java
*Haveclasses:
BookManagerBookBorrower
*Copyright2005Fane。
Allrightsreserved。
*@author
Fane
*@version
1。
0.0。
0,09/05/05
*@since
JDK1。
4
*/
packageperson。
fane.test;
importjava。
io。
BufferedReader;
InputStreamReader;
text。
SimpleDateFormat;
util。
ArrayList;
importjava.util。
Collection;
util.Date;
Iterator;
publicclassLibraryManager
{
privateArrayListbookList=newArrayList();
privateArrayListuserList=newArrayList();
publicfinalintmaxBorrower=100;
publicfinalintmaxBook=100;
publicstaticvoidmain(Stringargs[])
{
//System.out.println("
欢迎来到图书管理系统!
!
"
);
LibraryManagernewLibraryManager=newLibraryManager();
BookManagerThreadmyBookManagerThread=newBookManagerThread(newLibraryManager);
newThread(myBookManagerThread)。
start();
}
/**
*@return返回bookList。
publicArrayListgetBookList(){
returnbookList;
}
/**
*@return返回userList。
publicArrayListgetUserList(){
returnuserList;
/**
*@paramuserList要设置的userList。
publicvoidsetUserList(ArrayListuserList){
this。
userList=userList;
}
classBook
/*
*Book类包含的属性
*/
privateStringbookName;
privatefloatbookPrice;
privateintbookType;
privateDatepublishDate;
privatebooleanisBorrowed;
privateDateborrowedDate;
*@return返回bookName。
publicStringgetBookName(){
returnbookName;
*@parambookName要设置的bookName.
publicvoidsetBookName(StringbookName){
bookName=bookName;
*@return返回bookPrice。
publicfloatgetBookPrice(){
returnbookPrice;
*@parambookPrice要设置的bookPrice。
publicvoidsetBookPrice(floatbookPrice){
bookPrice=bookPrice;
*@return返回bookType.
publicintgetBookType(){
returnbookType;
/**
*@parambookType要设置的bookType.
publicvoidsetBookType(intbookType){
bookType=bookType;
*@return返回borrowDate.
publicDategetBorrowedDate(){
returnborrowedDate;
*@paramborrowDate要设置的borrowDate.
publicvoidsetBorrowedDate(DateborrowDate){
this.borrowedDate=borrowDate;
*@return返回isBorrowed。
publicbooleanisBorrowed(){
returnisBorrowed;
*@paramisBorrowed要设置的isBorrowed。
publicvoidsetBorrowed(booleanisBorrowed){
isBorrowed=isBorrowed;
*@return返回publishDate。
publicDategetPublishDate(){
returnpublishDate;
*@parampublishDate要设置的publishDate。
publicvoidsetPublishDate(DatepublishDate){
this.publishDate=publishDate;
publicStringtoString()
{
StringBuffermyStringBuffer=newStringBuffer();
myStringBuffer。
append(”书名:
”+this.getBookName()+"
##"
);
append("
价格:
+this。
getBookPrice()+"
##"
myStringBuffer.append(”类型:
”+this.getBookType()+"
\n"
append(”出版日期:
”+this。
getPublishDate()+”
借阅日期:
”+this.getBorrowedDate()+”
\n”);
returnmyStringBuffer。
toString();
}
classBorrower
privateStringname=”user”;
privateintage=1;
privateintborrowerId;
privateArrayListborrowedBook=newArrayList();
publicBorrower()
{}
publicBorrower(Stringname,intage,intborrowId)
setName(name);
setAge(age);
setBorrowerId(borrowId);
*@return返回age.
publicintgetAge(){
returnage;
*@paramage要设置的age.
publicvoidsetAge(intage){
age=age;
*@return返回borrowBook.
publicCollectiongetBorrowedBook(){
returnborrowedBook;
*@return返回borrowerId.
publicintgetBorrowerId(){
returnborrowerId;
*@paramborrowerId要设置的borrowerId。
publicvoidsetBorrowerId(intborrowerId){
this.borrowerId=borrowerId;
*@return返回name。
publicStringgetName(){
returnname;
*@paramname要设置的name。
publicvoidsetName(Stringname){
name=name;
*输出用户基本信息和借阅信息
*
(非Javadoc)
*@seejava。
lang。
Object#toString()
myStringBuffer.append(”用户名:
+name+"
###
”);
myStringBuffer.append(”年龄:
+age+”
###
"
myStringBuffer.append(”用户编号:
”+borrowerId+"
###
借阅书籍如下:
IteratormyIterator=this.getBorrowedBook()。
iterator();
while(myIterator.hasNext())
BookmyBook=(Book)myIterator。
next();
myStringBuffer.append("
书名:
+myBook.getBookName()+"
”);
append(”价格:
”+myBook.getBookPrice()+”
\n”);
”+myBook。
append(”借阅日期:
getBorrowedDate()+"
toString();
classBookManagerThreadimplementsRunnable
{
privatebooleanisOut=false;
privateintmainFrame=0;
privateintsubFrame=0;
privateBufferedReaderkeyboardInput;
privateLibraryManagermyLibraryManager;
privateSimpleDateFormatmySimpleDateFormat=newSimpleDateFormat(”yyyy—MM—ddHH:
mm:
ss”);
publicBookManagerThread(LibraryManagermyLibraryManager)
myLibraryManager=myLibraryManager;
/*
*图书管理系统的运行进程
*
*@seejava。
Runnable#run()
publicvoidrun(){
while(!
isOut)
logicProcess();
privatevoiddisplayMain()
System。
out。
println(”
欢迎来到图书管理系统!
out.println(”1:
用户管理〈输入U+回车〉
println("
2:
图书管理〈输入B+回车〉
System.out。
println(”3:
借阅管理<
输入L+回车>
Exit:
退出〈输入Exit+回车>
privatevoiddispalyUserManager()
println(”1:
增加用户
<
输入A+回车〉
System.out.println("
修改用户
〈输入M+回车〉
System.out.println(”3:
删除用户
输入D+回车〉
out.println(”Up:
返回上一级〈输入up+回车>
privatevoiddispalyBookManager()
欢迎来到图书管理系统!
1:
增加图书
〈输入A+回车〉
2:
修改图书
3:
删除图书
输入D+回车>
println(”Up:
返回上一级〈输入up+回车〉
privatevoiddispalyBorrowManager()
println(”1:
借阅图书
〈输入B+回车〉
println(”2:
归还图书
〈输入L+回车>
浏览用户借阅信息〈输入V+回车>
println(”Up:
返回上一级
〈输入up+回车〉”);
privatevoiddispalyAllUsers()
IteratormyIterator=this.getMyLibraryManager().getUserList()。
inti=0;
out.println(”该用户序列号是:
”+i);
println(((Borrower)myIterator.next())。
toString());
i++;
privatevoiddisplayAllBooks()
IteratormyIterator=this.getMyLibraryManager()。
getBookList()。
out.println(”该书籍序列号是:
”+i);
println(((Book)myIterator.next())。
toString());
publicvoidlogicProcess()
StringoperateCode="
”;
*以下是菜单选择
if(mainFrame==0)
displayMain();
try
keyboardInput=newBufferedReader(newInputStreamReader(System.in));
operateCode=keyboardInput。
readLine();
if(operateCode。
equalsIgnoreCase(”U”))
mainFrame=1;
if(operateCode.equalsIgnoreCase("
B”))