定义一个图书类Book,其成员变量有:书名、书号ID、作者、出版社、出版时间、状态;包含的方法:构造方法、所有属性的getter方法、借出和归还方法,状态有“在馆”和“外借”两种状态,当借出时,状态变为“外借”,归还时变为“在馆”;
要求:
(1)书号ID采用动态增长的方法生成,从1开始,采用四位,如0001、0002...
(2)单独定义测试类,创建书的对象,并输出书的基本信息(书名、书号ID、作者、出版社、出版时间、状态);
(3)对某本书进行借出和归还操作,并查看书的状态;
public class TestApp {
public static void main(String[] args) {
//单独定义测试类,创建书的对象,并输出书的基本信息(书名、书号ID、作者、出版社、出版时间、状态);
Book book1=new Book("三国演义","罗贯中","文学出版社","2020年","在馆");
System.out.println(book1.toString());
//对某本书进行借出和归还操作,并查看书的状态;
book1.lend();
System.out.println(book1.toString());
book1.back();
System.out.println(book1.toString());
//书号ID采用动态增长的方法生成,从1开始,采用四位,如0001、0002
System.out.println("====================下面为演示书号ID采用动态增长的方法生成==========================");
Book book2=new Book("西游记","吴承恩","文学出版社","2021年","在馆");
System.out.println(book2.toString());
Book book3=new Book("西","吴","文学出版","2022年","在馆");
System.out.println(book3.toString());
}
}
class Book {
public static int id;
public static String getId(){
id++;
return (id<10?"000":(id<100?"00":"0"))+id;
}
//定义一个图书类Book,其成员变量有:书名、书号ID、作者、出版社、出版时间、状态;
private String bookName;
private String bookId;
private String author;
private String press;
private String pressTime;
private String status;
//构造方法、所有属性的getter方法
public Book() {
}
public Book(String bookName, String author, String press, String pressTime, String status) {
this.bookName = bookName;
this.author = author;
this.press = press;
this.pressTime = pressTime;
this.status = status;
this.bookId=getId();
}
public String getBookName() {
return bookName;
}
public String getBookId() {
return bookId;
}
public String getAuthor() {
return author;
}
public String getPress() {
return press;
}
public String getPressTime() {
return pressTime;
}
public String getStatus() {
return status;
}
//借出和归还方法
//当借出时,状态变为“外借”
public void lend(){
this.status="外借";
}
//归还时变为“在馆”;
public void back(){
this.status="在馆";
}
@Override
public String toString() {
return "书籍信息{" +
"书名='" + bookName + '\'' +
", 书号ID='" + bookId + '\'' +
", 作者='" + author + '\'' +
", 出版社='" + press + '\'' +
", 出版时间='" + pressTime + '\'' +
", 状态='" + status + '\'' +
'}';
}
}
看看是这个效果吗