java-图书管理系统

定义一个图书类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 + '\'' +
                '}';
    }

}

看看是这个效果吗