?? 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);
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -