图书管理系统Java
时间: 2024-01-05 09:03:59 浏览: 37
以下是一个简易的图书管理系统的Java代码示例:
```java
import java.util.ArrayList;
import java.util.List;
// 图书类
class Book {
private String title;
private String author;
public Book(String title, String author) {
this.title = title;
this.author = author;
}
public String getTitle() {
return title;
}
public String getAuthor() {
return author;
}
@Override
public String toString() {
return "Title: " + title + ", Author: " + author;
}
}
// 图书列表类
class BookList {
private List<Book> books;
public BookList() {
books = new ArrayList<>();
}
public List<Book> getBooks() {
return books;
}
public void addBook(Book book) {
books.add(book);
}
public void removeBook(Book book) {
books.remove(book);
}
}
// 操作接口
interface IOperation {
void work(BookList bookList) throws OperationException;
}
// 显示操作类
class DisplayOperation implements IOperation {
@Override
public void work(BookList bookList) throws OperationException {
for (Book book : bookList.getBooks()) {
System.out.println(book);
}
}
}
// 借书操作类
class BorrowOperation implements IOperation {
@Override
public void work(BookList bookList) throws OperationException {
// 实现借书操作的代码
}
}
// 异常类
class OperationException extends Exception {
public OperationException(String message) {
super(message);
}
}
// 图书管理系统类
class LibrarySystem {
private BookList bookList;
public LibrarySystem() {
bookList = new BookList();
}
public void addBook(Book book) {
bookList.addBook(book);
}
public void removeBook(Book book) {
bookList.removeBook(book);
}
public void displayBooks() throws OperationException {
IOperation operation = new DisplayOperation();
operation.work(bookList);
}
public void borrowBook() throws OperationException {
IOperation operation = new BorrowOperation();
operation.work(bookList);
}
}
// 测试类
public class LibrarySystemTest {
public static void main(String[] args) {
LibrarySystem librarySystem = new LibrarySystem();
Book book1 = new Book("Java Programming", "John Smith");
Book book2 = new Book("Python Basics", "Jane Doe");
librarySystem.addBook(book1);
librarySystem.addBook(book2);
try {
librarySystem.displayBooks();
librarySystem.borrowBook();
} catch (OperationException e) {
System.out.println("An error occurred: " + e.getMessage());
}
}
}
```