📄 borrower.java
字号:
import java.util.*;
public class Borrower extends StringAdapter{
static int Id=0;
private int id=Id++;
private List borrowBook=new ArrayList();// book borrowed
public void borrow(Book b)throws LibraryException{
boolean success=false;
try{
success=b.borrow(this.id);
}finally{
if(success)
borrowBook.add(b);
else
throw new LibraryException(" currently unavaliable");
}
//although no deadlock danger need to keep the data in pace
//eg: when another ClientGUI run on the same borrower for checkloan()
//will produce data interference
//althernative is to synchronize on borrower
}
public void retun(Book b)throws LibraryException{
boolean success=false;
try{
success=b.retun(this.id);
}finally{
if(success)
borrowBook.remove(b);
else
throw new LibraryException(" currently not borrowing");
}
}
public String checkLoan(){
String s="loan:\n"
+(adapt("bookid",20)+adapt("title",21)+adapt("borrower",23))+"\n";
for(int i=0;i<borrowBook.size();i++)
s+=borrowBook.get(i).toString()+"\n";
return s;
}
public String getId(){
return Integer.toString(id);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -