例如下面做一个基本功能的电子租借系统:
小镇的图书馆需要一个新的电子租借系统。现在我们需要提供一个Book类来实现图书的基本信息管理功能,请补充完成Book类的定义。这个类需要定义获取图书标题的方法,查看图书的作者,查看是否可用的方法,是否借出方法。图书的状态用“available”和“borrowed”表示。现在的结构框架内缺少这些方法的执行内容,请用合适的功能代码补充方法体的内容。用main方法测试,当你运行程序时应该输出的内容如下:
图书名称:Java程序设计教程
图书作者:zhangsan
出租状态:false
可用状态:true
----------借书-----------
出租状态:true
可用状态:false
----------还书-----------
出租状态:false
可用状态:true
public class Book {
String title; //图书名称
String author; //作者
boolean borrowed; //图书状态,初始状态为可用
//使用给定的图书名称,创建一个新的Book对象 ,并置该对象的初始状态为可用
public Book(String title, String author, boolean borrowed) {
this.title=title;
this.author=author;
this.borrowed=borrowed;
}
// 借书,标记该书为借出状态
public String borrowed() {
String status="no";
int index=searchBook();
if(index!=-1) {
//判断是否被借
//未借
if(isAvailable()==true) {
if(isBorrowed()==false) {
System.out.println("该书为可用状态,你已经借书成功!!!");
//标记该书为借出状态
status="is";
borrowed=false;
return status;
}
}
}
System.out.println("该书已经借出,不可再借!!!");
return status;
}
//还书,标记该书为可用状态
public String returned() {
int index=searchBook();
//说明存在此书
if(index!=-1) {
//判断是否被借
//被借
if(isBorrowed()==true) {
System.out.println("你已经还书成功!!!");
//标记该书为未借状态
borrowed=true;
return "is";
}
}
System.out.println("该书未借出,不可还书!!!");
return "no";
}
//出租状态 Returns true if the book is rented, false otherwise
public boolean isBorrowed() {
//如果未借出
if(borrowed==true) {
return false;
}
return true;
}
//查找是否存在图书
public int searchBook() {
Scanner input=new Scanner(System.in);
System.out.println("请输入要借的图书名称:");
String bookTitle=input.next();
System.out.println("请输入要借的图书的作者名称:");
String bookAuthor=input.next();
if(bookTitle.equals(getTitle())&&bookAuthor.equals(getAuthor())){
return 1;
}
return -1;
}
// 可用状态Returns true if the book is available, false otherwise
public Boolean isAvailable(){
boolean flag=false;
//此书未借,则此书状态可用
if(isBorrowed()==false) {
flag=true;
return flag;
}
return flag;
}
//返回图书的名称
public String getTitle() {
return title;
}
//返回图书的作者
public String getAuthor() {
return author;
}
}
public static void main(String[] args) {
Book example = new Book("Java程序设计教程","zhangsan",true);
System.out.println("图书名称:" + example.getTitle());
System.out.println("图书作者:" + example.getAuthor());
System.out.println("出租状态:" + example.isBorrowed());
System.out.println("可用状态:" + example. isAvailable());
System.out.println("----------借书-----------");
example.borrowed();
System.out.println("出租状态:" + example.isBorrowed());
System.out.println("可用状态:" + example. isAvailable());
System.out.println("----------还书-----------");
example.returned();
System.out.println("出租状态:" + example.isBorrowed());
System.out.println("可用状态:" + example. isAvailable());
}
}
测试结果: