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 + -
显示快捷键?