那你可以将添加管理员账号和借阅者账号的代码添加进去吗
时间: 2024-01-08 17:04:24 浏览: 32
好的,我来补充一下这两个功能的代码。
首先,我们需要一个User类来表示用户,这个类需要包括用户名和密码两个属性。代码如下:
```java
public class User {
private String username;
private String password;
public User(String username, String password) {
this.username = username;
this.password = password;
}
public String getUsername() {
return username;
}
public String getPassword() {
return password;
}
}
```
接着,我们需要在Library类中添加一个管理员账号和一个借阅者账号,并且添加相应的验证方法。代码如下:
```java
import java.util.ArrayList;
import java.util.List;
public class Library {
private List<Book> books;
private User admin;
private User borrower;
public Library(User admin, User borrower) {
this.books = new ArrayList<>();
this.admin = admin;
this.borrower = borrower;
}
public boolean isAdmin(User user) {
return user.getUsername().equals(admin.getUsername()) && user.getPassword().equals(admin.getPassword());
}
public boolean isBorrower(User user) {
return user.getUsername().equals(borrower.getUsername()) && user.getPassword().equals(borrower.getPassword());
}
public void addBook(Book book, User user) {
if (isAdmin(user)) {
books.add(book);
} else {
System.out.println("只有管理员才能添加书籍");
}
}
public void removeBook(Book book, User user) {
if (isAdmin(user)) {
books.remove(book);
} else {
System.out.println("只有管理员才能删除书籍");
}
}
public Book borrowBook(String title, User user) {
if (isBorrower(user)) {
for (Book book : books) {
if (book.getTitle().equals(title) && !book.isBorrowed()) {
book.setBorrowed(true);
return book;
}
}
System.out.println("没有可借阅的书籍");
return null;
} else {
System.out.println("只有借阅者才能借阅书籍");
return null;
}
}
public List<Book> getAvailableBooks() {
List<Book> availableBooks = new ArrayList<>();
for (Book book : books) {
if (!book.isBorrowed()) {
availableBooks.add(book);
}
}
return availableBooks;
}
}
```
最后,我们需要在Main类中创建管理员账号和借阅者账号,并且在操作时传入相应的账号进行验证。代码如下:
```java
public class Main {
public static void main(String[] args) {
User admin = new User("admin", "123456");
User borrower = new User("borrower", "654321");
Library library = new Library(admin, borrower);
library.addBook(new Book("Java编程思想", "Bruce Eckel"), admin);
library.addBook(new Book("Effective Java", "Joshua Bloch"), admin);
library.addBook(new Book("Head First Java", "Kathy Sierra"), admin);
library.addBook(new Book("Head First Design Patterns", "Eric Freeman"), admin);
library.removeBook(new Book("Java编程思想", "Bruce Eckel"), admin);
Book borrowedBook = library.borrowBook("Effective Java", borrower);
if (borrowedBook != null) {
System.out.println("借阅成功:" + borrowedBook.getTitle());
}
List<Book> availableBooks = library.getAvailableBooks();
System.out.println("可借阅的书籍:");
for (Book book : availableBooks) {
System.out.println(book.getTitle() + " - " + book.getAuthor());
}
}
}
```
这样,一个带有管理员账号和借阅者账号的图书馆借阅系统就完成了。当然,这个系统还有很多需要完善的地方,比如添加借阅期限、还书操作等等。