java代码实现图书管理_Java图书管理系统(用Java常用集合实现)(示例代码)
时间: 2024-03-26 18:40:24 浏览: 12
好的,这是一个简单的 Java 图书管理系统示例代码,使用 Java 常用集合实现:
```java
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Scanner;
public class BookManagementSystem {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
HashMap<String, ArrayList<Book>> bookMap = new HashMap<>();
boolean exit = false;
while (!exit) {
System.out.println("请选择操作:");
System.out.println("1. 添加图书");
System.out.println("2. 借出图书");
System.out.println("3. 归还图书");
System.out.println("4. 查看图书");
System.out.println("5. 退出");
int choice = scanner.nextInt();
switch (choice) {
case 1:
addBook(scanner, bookMap);
break;
case 2:
lendBook(scanner, bookMap);
break;
case 3:
returnBook(scanner, bookMap);
break;
case 4:
showBooks(bookMap);
break;
case 5:
exit = true;
break;
default:
System.out.println("请输入正确的选项!");
break;
}
}
scanner.close();
}
private static void addBook(Scanner scanner, HashMap<String, ArrayList<Book>> bookMap) {
System.out.println("请输入书名:");
String name = scanner.next();
System.out.println("请输入作者:");
String author = scanner.next();
System.out.println("请输入出版社:");
String publisher = scanner.next();
System.out.println("请输入出版日期:");
String publishDate = scanner.next();
Book book = new Book(name, author, publisher, publishDate);
ArrayList<Book> bookList = bookMap.get(name);
if (bookList == null) {
bookList = new ArrayList<>();
}
bookList.add(book);
bookMap.put(name, bookList);
System.out.println("添加成功!");
}
private static void lendBook(Scanner scanner, HashMap<String, ArrayList<Book>> bookMap) {
System.out.println("请输入书名:");
String name = scanner.next();
ArrayList<Book> bookList = bookMap.get(name);
if (bookList == null || bookList.isEmpty()) {
System.out.println("没有找到该书!");
return;
}
Book book = bookList.get(0);
bookList.remove(0);
System.out.println("借出成功!");
}
private static void returnBook(Scanner scanner, HashMap<String, ArrayList<Book>> bookMap) {
System.out.println("请输入书名:");
String name = scanner.next();
ArrayList<Book> bookList = bookMap.get(name);
if (bookList == null) {
bookList = new ArrayList<>();
bookMap.put(name, bookList);
}
System.out.println("请输入作者:");
String author = scanner.next();
System.out.println("请输入出版社:");
String publisher = scanner.next();
System.out.println("请输入出版日期:");
String publishDate = scanner.next();
Book book = new Book(name, author, publisher, publishDate);
bookList.add(book);
System.out.println("归还成功!");
}
private static void showBooks(HashMap<String, ArrayList<Book>> bookMap) {
System.out.println("图书列表:");
for (String name : bookMap.keySet()) {
ArrayList<Book> bookList = bookMap.get(name);
System.out.println(name + ":" + bookList.size() + "本");
}
}
}
class Book {
private String name;
private String author;
private String publisher;
private String publishDate;
public Book(String name, String author, String publisher, String publishDate) {
this.name = name;
this.author = author;
this.publisher = publisher;
this.publishDate = publishDate;
}
public String getName() {
return name;
}
public String getAuthor() {
return author;
}
public String getPublisher() {
return publisher;
}
public String getPublishDate() {
return publishDate;
}
}
```
这个代码使用了 `HashMap` 存储图书信息,其中以书名作为键,以一个 `ArrayList` 存储相同书名的不同副本。可以通过添加、借出、归还和查看图书等操作管理图书。