【发布时间】:2018-12-28 03:33:59
【问题描述】:
我有一个图书馆程序,该程序中有一个 BorrowBookRecord Record 类和一个 Library 类。在 library 类中包含一个 'borrowBook()' 方法,当调用并成功使用该方法时,会创建一个 BorrowBookRecord 对象并将其添加到存储在 Library 类中的 BorrowBookRecords 数组列表中。我唯一的问题是我完全不知道如何让 borrowBook() 方法按字母顺序存储记录。我什至不知道从哪里开始。每条记录都有一个“学生用户名”作为其变量之一,我想用它来确定列表中对象的字母顺序。
这是图书馆类中的借书方法
public boolean borrowBook(String librarianUsername, String studentUsername, String bookISBN){
User user = findUserByUsername(studentUsername);
if(checkPermissionTypeByUserNameBorrow(librarianUsername) && user.isOverBorrow() && checkPermissionTypeByUserNameReserve(studentUsername)){
if(checkIfAnyAvaliable(bookISBN)){
for(Book book: books){
if(book.getISBNNumber().equals(bookISBN) && book.checkAvaliable()){
book.modifyStatus(BookStatus.Reserved);
Date date = new Date();
BorrowBookRecord record = new BorrowBookRecord(studentUsername, bookISBN, book.getCopyNumber(), date);
borrowRecords.add(record);
/////>>>this is where record is made.
user.increaseNumberOfborrowedBooks();
break;
}
}
}
else{
throw new IllegalArgumentException("There are no books of that isbn avaliable to borrow");
}
}
else{
throw new IllegalArgumentException("Student cannot borrow anymore Books/librarian has wrong permissontype");
}
return true;
}
【问题讨论】: