用Java中的集合开发图书管理系统,实现图书上架,图书查询,图书销售和书价修改等功能。
时间: 2024-10-19 11:14:46 浏览: 53
在Java中,利用集合框架如ArrayList、HashMap或LinkedList等可以构建一个简单的图书管理系统。这里是一个简化的例子:
首先,创建Book类表示图书,包含基本属性如书名(title), 作者(author), ISBN(isbn)以及价格(price)。
```java
public class Book {
private String title;
private String author;
private String isbn;
private double price;
// 构造函数,getter和setter方法省略
}
```
接着,我们可以创建一个BookRepository接口,用于图书管理操作:
```java
import java.util.List;
public interface BookRepository {
void addBook(Book book);
List<Book> searchBooks(String title, String author);
void sellBook(String isbn, double newPrice);
void updatePrice(String isbn, double newPrice);
}
```
每个实现这个接口的类,比如InMemoryBookRepository,将使用具体的数据结构存储图书并实现对应的功能:
```java
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
public class InMemoryBookRepository implements BookRepository {
private final HashMap<String, Book> books = new HashMap<>();
@Override
public void addBook(Book book) {
books.put(book.getIsbn(), book);
}
@Override
public List<Book> searchBooks(String title, String author) {
List<Book> result = new ArrayList<>();
for (Book book : books.values()) {
if ((title == null || book.getTitle().equals(title)) && (author == null || book.getAuthor().equals(author))) {
result.add(book);
}
}
return result;
}
@Override
public void sellBook(String isbn, double newPrice) {
if (books.containsKey(isbn)) {
books.get(isbn).setPrice(newPrice);
}
}
@Override
public void updatePrice(String isbn, double newPrice) {
if (books.containsKey(isbn)) {
books.get(isbn).setPrice(newPrice);
}
}
}
```
现在你可以创建BookRepository的实例,并通过它来进行图书上架(addBook),查询(searchBooks),销售(sellBook)和价格修改(updatePrice)操作。
阅读全文