编程实现:图书借阅系统中的归还图书功能。 (主要完成程序中 //TODO 注释部分代码,实现归还图书功能) 归还图书方法定义: public void returnbook(String want, String redate);
时间: 2024-05-01 15:20:55 浏览: 85
假设我们已经有了一个图书借阅系统的类 BookSystem,其中包括了一个图书列表 books,每个图书对象中包括了图书的名称 name,借出状态 status 和借出日期 borrowDate 等属性。
归还图书功能的实现大致步骤如下:
1. 根据用户输入的 want 参数查找对应的图书对象。
2. 修改该图书对象的借出状态和借出日期属性。
3. 根据用户输入的 redate 参数,计算出该图书对象的归还日期属性并修改。
4. 输出归还成功提示信息。
代码实现如下:
```java
public class BookSystem {
// 图书列表
private List<Book> books;
// 构造方法
public BookSystem(List<Book> books) {
this.books = books;
}
// 归还图书方法
public void returnbook(String want, String redate) {
// 遍历图书列表,查找要归还的图书对象
for (Book book : books) {
if (book.getName().equals(want)) {
if (book.getStatus() == BookStatus.BORROWED) {
// 修改借出状态和借出日期属性
book.setStatus(BookStatus.AVAILABLE);
book.setBorrowDate(null);
// 计算归还日期并修改
LocalDate returnDate = LocalDate.parse(redate);
book.setReturnDate(returnDate);
System.out.println("归还成功!图书名称:" + book.getName() + ",归还日期:" + returnDate);
} else {
System.out.println("该图书未被借出,无需归还!");
}
return;
}
}
System.out.println("未找到该图书,请检查输入是否正确!");
}
}
```
其中,BookStatus 是一个枚举类型,表示图书的借出状态:
```java
public enum BookStatus {
AVAILABLE, // 可借阅状态
BORROWED // 已借出状态
}
```
Book 类的定义如下:
```java
public class Book {
private String name; // 图书名称
private BookStatus status; // 图书状态
private LocalDate borrowDate; // 借出日期
private LocalDate returnDate; // 归还日期
// 构造方法
public Book(String name, BookStatus status, LocalDate borrowDate, LocalDate returnDate) {
this.name = name;
this.status = status;
this.borrowDate = borrowDate;
this.returnDate = returnDate;
}
// getter 和 setter 方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public BookStatus getStatus() {
return status;
}
public void setStatus(BookStatus status) {
this.status = status;
}
public LocalDate getBorrowDate() {
return borrowDate;
}
public void setBorrowDate(LocalDate borrowDate) {
this.borrowDate = borrowDate;
}
public LocalDate getReturnDate() {
return returnDate;
}
public void setReturnDate(LocalDate returnDate) {
this.returnDate = returnDate;
}
}
```
使用示例:
```java
public static void main(String[] args) {
// 创建图书列表
List<Book> books = new ArrayList<>();
books.add(new Book("Java编程思想", BookStatus.AVAILABLE, null, null));
books.add(new Book("深入浅出MySQL", BookStatus.BORROWED, LocalDate.now().minusDays(10), null));
books.add(new Book("Python从入门到精通", BookStatus.AVAILABLE, null, null));
// 创建图书借阅系统对象
BookSystem bookSystem = new BookSystem(books);
// 归还图书
bookSystem.returnbook("深入浅出MySQL", "2022-12-31");
}
```
输出结果:
```
归还成功!图书名称:深入浅出MySQL,归还日期:2022-12-31
```
阅读全文