📄 bookshelf.java
字号:
package Libarary;
public class BookShelf implements Aggegate {
private Book[] books=new Book[12];
protected int last=0;
public int mark=0;
public String name;
public BookShelf Next;
public char Type='A';
public BookShelf(String name,char Type){
this.name=name;
this.Type=Type;
}
public BookShelf(String name){
this.name=name;
}
public Book getBookAt(int i) {
if(i<=last)
return books[i];
return null;
}
/*in && out*/
public void appendBook(Book book){
book.Numble=Type+""+last;
books[last]=book;
last++;
}
public void deletBook(String no){
int i=getIndex(no);
while(i<last-1){
books[i+1].Numble=books[i].Numble;
books[i]=books[i+1];
i++;
}
books[last]=null;
last--;
}
public void deletBook(Book book){
deletBook(book.Numble);
}
public int getIndex(String str){
return Integer.parseInt(str.substring(1)) ;
}
public void appendShelf(BookShelf shelf){
this.Next=shelf;
}
/*Seach*/
public Book searchByName(String bookname){
for(int i=0;i<last;i++){
if(books[i].Name==bookname)
return books[i];
}
return null;
}
public Book searchByNumble(String bookNumble){
for(int i=0;i<last;i++){
if(books[i].Numble==bookNumble)
return books[i];
}
return null;
}
public Book[] searchByPuplm(String bookPupulm){
Book[] bag=new Book[5];
int k=0;
for(int i=0;i<last;i++){
if(books[i].Pupulm==bookPupulm){
bag[k]=books[i];
k++;
}
}
return bag;
}
public Book[] searchByAuthor(String bookAuthor){
Book[] bag=new Book[5];
int k=0;
for(int i=0;i<last;i++){
if(books[i].Author==bookAuthor){
bag[k]=books[i];
k++;
}
}
return bag;
}
public void display(){
for(int i=0;i<last;i++){
System.out.println("Name: "+books[i].Name);
}
}
/**/
public int getLength() {
return last;
}
public Iterator iterator(){
return new BookShelfIterator(this);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -