booktest.java

来自「VC6.0小型图书馆管理程序。建议具有书籍存储与信息检索、借阅者信息存储与检索、」· Java 代码 · 共 193 行

JAVA
193
字号
import javax.swing.JOptionPane;

class book{
  private String bname;       //书名
  private int price;          //价格
  book(String p1,int p2){
    bname=p1;
    price=p2;
  }
  
  //获取书名
  String getName(){           
    return(bname);              
  } 	
  
  //获取价格
  int getPrice(){             
    return(price);
  }
}
class BookCard{
  private int rno;           //读者号
  private String rname;      //读者姓名 
  book books[];
  BookCard(int p1,String p2,book p3[]){
    rno=p1;
    rname=p2;
    books=p3;
  }
  
  //获取读者号
  int getRno(){
    return(rno);  
  }
  
  //获取读者姓名
  String getRname(){
    return(rname);
  } 
  
  //统计借书册书
  int bnum(){
    return(books.length);
  }
  
  //借书(算法描述见readme文档) 
  boolean borrow(book b){
    if(books.length<10){
       book[] temp=new book[books.length+1];
       System.arraycopy(books,0,temp,0,books.length);
       temp[books.length]=b;
       books=new book[books.length+1];
       System.arraycopy(temp,0,books,0,temp.length);
       System.out.println("* * * * * * * * * * * * * * * * * * *");
       System.out.println("借书成功!");
       return(true); 
    }
    else{
       System.out.println("对不起,你所借书的数目超过十本!");
       return(false); 
    }
  }    
 
  //还书(算法描述见readme文档)
  boolean returnBook(String s){
    int i,j=0;
    book[] temp=new book[books.length-1];
    boolean t=false;
    for(i=0;i<books.length;i++){
      if(books[i].getName().equals(s)){
        t=true;
        break;
        }  
      else
        t=false;	
    }
    if(t==true){
      for(i=0;i<books.length;i++){
        if(books[i].getName().equals(s)!=true){ 
          temp[j]=books[i]; 	
          j++;
        }
      }
      books=new book[books.length-1];
      System.arraycopy(temp,0,books,0,temp.length);
      System.out.println("* * * * * * * * * * * * * * * * * * *");
      System.out.println("还书成功!");
    }
    return(t);  
  }  
  
  //打印借书清单
  void printBooks(){
    int i;
    System.out.println("* * * * * * * * * * * * * * * * * * *");
    for(i=0;i<books.length;i++)
      System.out.println(books[i].getName());
    System.out.println("* * * * * * * * * * * * * * * * * * *");
  }  
  
  //统计价格大于p的书的册书
  int expensive(int p){
    int i,num=0;
    for(i=0;i<books.length;i++)
       if(books[i].getPrice()>p)
          num++;
    return(num);       		
  }   
  
  //关键字查询(算法描述见readme文档)
  String[] search(String s){
    int i,j=0;
    boolean t=false;
    String[] temp=new String[books.length];
    for(i=0;i<books.length;i++)
       if(books[i].getName().indexOf(s)!=-1){
         temp[j]=books[i].getName();
         j++;
         t=true;       
       }  
    if(t==true)
       return(temp);   
    else{
       String[] temp1={"对不起,您没借此书!"};
       return(temp1);
    }
  }
}

//测试BookCard类的8的成员方法
public class BookTest{
   public static void main(String agrs[]){
      int i;
      String input;      
      
      //创建book类的8个对象
      book b1=new book("计算机文化基础",20);
      book b2=new book("Java程序设计",24);
      book b3=new book("C程序设计",18);
      book b4=new book("WindowsXP操作系统",30);
      book b5=new book("数据库与计算机管理",22);
      book b6=new book("C++程序设计",15);
      book b7=new book("计算机图形技术与CAD",50);      
      book b8=new book("Intetnet基础",21);
      book[] books={b1,b2,b3,b4,b5,b6,b7};
      
      //创建BookCard类的一个对象
      BookCard b=new BookCard(10166,"陈伟",books);   
      System.out.println("* * * * * * * * * * * * * * * * * * *");
      
      //打印读者号与读者姓名
      System.out.println(b.getRno()+"     "+b.getRname());
      
      //打印借书清单
      b.printBooks();
      
      //分别打印价格高于“20”和 “15” 的书的名称
      System.out.println("其中"+b.expensive(20)+"本书的价格高于"+"20");   
      System.out.println("其中"+b.expensive(15)+"本书的价格高于"+"15");
      
      //借书(b8)
      if(b.borrow(b8)==true){
      	System.out.println("你已经借了"+b.bnum()+"本书");
      	b.printBooks();
      }	
      
      //还书(b1)
      if(b.returnBook(b1.getName())==true){ 
        System.out.println("你已经借了"+b.bnum()+"本书");
        b.printBooks(); 
      }
      else
        System.out.println("对不起,还书失败,您没借此书!");
        	
       //还书("实用数据结构")
      if(b.returnBook("实用数据结构")==true){
        System.out.println("你已经借了"+b.bnum()+"本书");
        b.printBooks(); 
      }
      else
        System.out.println("对不起,还书失败,您没借此书!");
      //关键字查询
      input=JOptionPane.showInputDialog("请输入查询关键字:");
      System.out.println("* * * * * * * * * * * * * * * * * * *");
      
      //打印查询结果
      System.out.println("查询结果:");
      for(i=0;i<b.search(input).length;i++)
      	if(b.search(input)[i]!=null)
      	System.out.println(b.search(input)[i]);
   }
}
   

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?