构造一个书本类存放书本姓名作者出版社和价格,再构造一个人类和图书馆类,让人去读书馆借书,如果书本数量小于0就输出书本数量不足,书本数量大于0就减一然后输出书本剩余量
时间: 2024-12-04 10:24:21 浏览: 17
首先,我们来定义三个类:`Book`, `Person`, 和 `Library`。每个类都有其特定的功能:
1. **Book** 类:
- 它包含了书名(title)、作者(author)、出版社(publisher)和价格(price)属性,以及表示书籍库存的方法。
```java
public class Book {
private String title;
private String author;
private String publisher;
private double price;
private int stock;
public Book(String title, String author, String publisher, double price, int initialStock) {
this.title = title;
this.author = author;
this.publisher = publisher;
this.price = price;
this.stock = initialStock;
}
// 其他可能的方法如查看库存、增加库存等
public boolean lendBook() {
if (stock > 0) {
stock--;
System.out.println("Book lent successfully. Remaining stock: " + stock);
return true;
} else {
System.out.println("Not enough books in stock.");
return false;
}
}
}
```
2. **Person** 类:
- 这里的人类有姓名(name),但不需要借书的方法,因为借书是图书馆的工作。
```java
public class Person {
private String name;
public Person(String name) {
this.name = name;
}
// 只包含姓名的相关信息获取和设置
}
```
3. **Library** 类:
- 图书馆有一个或多个`Book`实例,并提供借阅服务给`Person`。
```java
import java.util.ArrayList;
public class Library {
private ArrayList<Book> bookCollection;
public Library() {
bookCollection = new ArrayList<>();
// 初始化书库,添加书籍实例
}
public void borrowBook(Person borrower, Book book) {
book.lendBook();
}
}
```
现在你可以创建这些类的对象并进行借书操作。例如:
```java
public static void main(String[] args) {
// 创建书本对象
Book book = new Book("Harry Potter", "J.K. Rowling", "Bloomsbury", 15.99, 10);
// 创建图书馆和人
Library library = new Library();
Person reader = new Person("John");
// 借书
library.borrowBook(reader, book);
}
```
阅读全文