下面是用Java编写的图书馆借阅系统的示例代码:\n\njava\nimport java.util.ArrayList;\nimport java.util.Comparator;\nimport java.util.Date;\nimport java.util.List;\n\nclass Book {\n private String title;\n private String author;\n private Date publicationDate;\n private Date storageDate;\n private boolean isBorrowed;\n\n public Book(String title, String author, Date publicationDate, Date storageDate) {\n this.title = title;\n this.author = author;\n this.publicationDate = publicationDate;\n this.storageDate = storageDate;\n this.isBorrowed = false;\n }\n\n public String getTitle() {\n return title;\n }\n\n public String getAuthor() {\n return author;\n }\n\n public Date getPublicationDate() {\n return publicationDate;\n }\n\n public Date getStorageDate() {\n return storageDate;\n }\n\n public boolean isBorrowed() {\n return isBorrowed;\n }\n\n public void setBorrowed(boolean borrowed) {\n isBorrowed = borrowed;\n }\n}\n\nclass Library {\n private String name;\n private String address;\n private List<Book> books;\n\n public Library(String name, String address) {\n this.name = name;\n this.address = address;\n this.books = new ArrayList<>();\n }\n\n public void addBook(Book book) {\n books.add(book);\n }\n\n public List<Book> getAllBooks() {\n return books;\n }\n\n public List<Book> getAvailableBooks() {\n List<Book> availableBooks = new ArrayList<>();\n for (Book book : books) {\n if (!book.isBorrowed()) {\n availableBooks.add(book);\n }\n }\n return availableBooks;\n }\n}\n\nclass BorrowRecord {\n private Book book;\n private Date borrowDate;\n private Date returnDate;\n\n public BorrowRecord(Book book, Date borrowDate) {\n this.book = book;\n this.borrowDate = borrowDate;\n this.returnDate = null;\n }\n\n public Book getBook() {\n return book;\n }\n\n public Date getBorrowDate() {\n return borrowDate;\n }\n\n public Date getReturnDate() {\n return returnDate;\n }\n\n public void setReturnDate(Date returnDate) {\n this.returnDate = returnDate;\n }\n}\n\nclass Reader {\n private String name;\n private List<BorrowRecord> borrowList;\n\n public Reader(String name) {\n this.name = name;\n this.borrowList = new ArrayList<>();\n }\n\n public String getName() {\n return name;\n }\n\n public List<BorrowRecord> getBorrowList() {\n return borrowList;\n }\n\n public void borrowBook(Book book, Date borrowDate) {\n BorrowRecord borrowRecord = new BorrowRecord(book, borrowDate);\n borrowList.add(borrowRecord);\n book.setBorrowed(true);\n }\n\n public void returnBook(Book book, Date returnDate) {\n for (BorrowRecord borrowRecord : borrowList) {\n if (borrowRecord.getBook() == book && borrowRecord.getReturnDate() == null) {\n borrowRecord.setReturnDate(returnDate);\n book.setBorrowed(false);\n break;\n }\n }\n }\n}\n\nclass LibrarySystem {\n private Library library;\n private List<Reader> readers;\n private List<Book> books;\n\n public LibrarySystem() {\n this.library = null;\n this.readers = new ArrayList<>();\n this.books = new ArrayList<>();\n }\n\n public void createLibrary(String name, String address) {\n library = new Library(name, address);\n }\n\n public void addBook(String title, String author, Date publicationDate, Date storageDate) {\n Book book = new Book(title, author, publicationDate, storageDate);\n books.add(book);\n library.addBook(book);\n }\n\n public void borrowBook(Reader reader, Book book, Date borrowDate) {\n if (reader.getBorrowList().size() >= 5) {\n System.out.println("Failed to borrow book. The reader has reached the maximum borrow limit.");\n return;\n }\n\n if (book.isBorrowed()) {\n System.out.println("Failed to borrow book. The book is already borrowed.");\n return;\n }\n\n if (!readers.contains(reader)) {\n System.out.println("Failed to borrow book. The reader is not registered.");\n return;\n }\n\n reader.borrowBook(book, borrowDate);\n System.out.println("Book borrowed successfully.");\n }\n\n public void returnBook(Reader reader, Book book, Date returnDate) {\n if (!readers.contains(reader)) {\n System.out.println("Failed to return book. The reader is not registered.");\n return;\n }\n\n reader.returnBook(book, returnDate);\n System.out.println("Book returned successfully.");\n }\n\n public void printAllBooks() {\n List<Book> sortedBooks = new ArrayList<>(books);\n sortedBooks.sort(Comparator.comparing(Book::getStorageDate));\n\n for (Book book : sortedBooks) {\n System.out.println("Title: " + book.getTitle());\n System.out.println("Author: " + book.getAuthor());\n System.out.println("Publication Date: " + book.getPublicationDate());\n System.out.println("Storage Date: " + book.getStorageDate());\n System.out.println("Is Borrowed: " + (book.isBorrowed() ? "Yes" : "No"));\n System.out.println();\n }\n }\n\n public void printBorrowList(Reader reader) {\n List<BorrowRecord> borrowList = reader.getBorrowList();\n\n for (BorrowRecord borrowRecord : borrowList) {\n Book book = borrowRecord.getBook();\n System.out.println("Title: " + book.getTitle());\n System.out.println("Author: " + book.getAuthor());\n System.out.println("Borrow Date: " + borrowRecord.getBorrowDate());\n System.out.println("Return Date: " + (borrowRecord.getReturnDate() != null ? borrowRecord.getReturnDate() : "Not returned yet"));\n System.out.println();\n }\n }\n\n public void registerReader(Reader reader) {\n readers.add(reader);\n System.out.println("Reader registered successfully.");\n }\n}\n\npublic class Main {\n public static void main(String[] args) {\n LibrarySystem librarySystem = new LibrarySystem();\n\n // 创建图书馆\n librarySystem.createLibrary("Example Library", "123 Main St");\n\n // 添加书籍\n librarySystem.addBook("Book 1", "Author 1", new Date(), new Date());\n librarySystem.addBook("Book 2", "Author 2", new Date(), new Date());\n librarySystem.addBook("Book 3", "Author 3", new Date(), new Date());\n\n // 注册读者\n Reader reader1 = new Reader("Reader 1");\n librarySystem.registerReader(reader1);\n\n // 借书和还书\n Book book1 = librarySystem.books.get(0);\n librarySystem.borrowBook(reader1, book1, new Date());\n librarySystem.returnBook(reader1, book1, new Date());\n\n // 打印所有书籍和读者的借阅列表\n librarySystem.printAllBooks();\n librarySystem.printBorrowList(reader1);\n }\n}\n\n\n这是一个简单的图书馆借阅系统的示例,其中包含了创建图书馆、添加书籍、借书、还书、获取所有书籍、获取某个读者的借阅列表等功能。在示例中,我们创建了一个LibrarySystem类来控制所有的事情,包括图书馆、读者和书籍的集合。通过调用LibrarySystem的方法来进行操作,可以根据需要进行扩展和修改。\n


原文地址: https://www.cveoy.top/t/topic/p52z 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录