以下是一个简单的图书管理系统的Java代码:
Book.java
public class Book {
private int bookId;
private String bookName;
private String author;
private String publisher;
private int publishYear;
private double price;
private int quantity;
public Book() {
}
public Book(int bookId, String bookName, String author, String publisher, int publishYear, double price, int quantity) {
this.bookId = bookId;
this.bookName = bookName;
this.author = author;
this.publisher = publisher;
this.publishYear = publishYear;
this.price = price;
this.quantity = quantity;
}
public int getBookId() {
return bookId;
}
public void setBookId(int bookId) {
this.bookId = bookId;
}
public String getBookName() {
return bookName;
}
public void setBookName(String bookName) {
this.bookName = bookName;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public String getPublisher() {
return publisher;
}
public void setPublisher(String publisher) {
this.publisher = publisher;
}
public int getPublishYear() {
return publishYear;
}
public void setPublishYear(int publishYear) {
this.publishYear = publishYear;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public int getQuantity() {
return quantity;
}
public void setQuantity(int quantity) {
this.quantity = quantity;
}
@Override
public String toString() {
return "Book{" +
"bookId=" + bookId +
", bookName='" + bookName + '\'' +
", author='" + author + '\'' +
", publisher='" + publisher + '\'' +
", publishYear=" + publishYear +
", price=" + price +
", quantity=" + quantity +
'}';
}
}
BookDao.java
import java.util.List;
public interface BookDao {
public Book addBook(Book book);
public Book getBookById(int bookId);
public List<Book> getAllBooks();
public void updateBook(Book book);
public void deleteBook(int bookId);
public List<Book> searchBook(String bookName, String author, String publisher);
BookDaoImpl.java
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class BookDaoImpl implements BookDao {
private static Map<Integer, Book> books = new HashMap<>();
@Override
public Book addBook(Book book) {
book.setBookId(books.size() + 1);
books.put(book.getBookId(), book);
return book;
}
@Override
public Book getBookById(int bookId) {
return books.get(bookId);
}
@Override
public List<Book> getAllBooks() {
return new ArrayList<>(books.values());
}
@Override
public void updateBook(Book book) {
books.put(book.getBookId(), book);
}
@Override
public void deleteBook(int bookId) {
books.remove(bookId);
}
@Override
public List<Book> searchBook(String bookName, String author, String publisher) {
List<Book> bookList = new ArrayList<>();
for (Book book : books.values()) {
if (book.getBookName().contains(bookName) &&
book.getAuthor().contains(author) &&
book.getPublisher().contains(publisher)) {
bookList.add(book);
}
}
return bookList;
}
}
BookService.java
import java.util.List;
public interface BookService {
public Book addBook(Book book);
public Book getBookById(int bookId);
public List<Book> getAllBooks();
public void updateBook(Book book);
public void deleteBook(int bookId);
public List<Book> searchBook(String bookName, String author, String publisher);
}
BookServiceImpl.java
import java.util.List;
public class BookServiceImpl implements BookService {
private BookDao bookDao = new BookDaoImpl();
@Override
public Book addBook(Book book) {
return bookDao.addBook(book);
}
@Override
public Book getBookById(int bookId) {
return bookDao.getBookById(bookId);
}
@Override
public List<Book> getAllBooks() {
return bookDao.getAllBooks();
}
@Override
public void updateBook(Book book) {
bookDao.updateBook(book);
}
@Override
public void deleteBook(int bookId) {
bookDao.deleteBook(bookId);
}
@Override
public List<Book> searchBook(String bookName, String author, String publisher) {
return bookDao.searchBook(bookName, author, publisher);
}
BookMain.java
import java.util.List;
import java.util.Scanner;
public class BookMain {
private static BookService bookService = new BookServiceImpl();
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("请选择操作:");
System.out.println("1.添加图书");
System.out.println("2.根据编号查询图书");
System.out.println("3.查询所有图书");
System.out.println("4.修改图书信息");
System.out.println("5.删除图书");
System.out.println("6.搜索图书");
System.out.println("7.退出");
int choice = scanner.nextInt();
switch (choice) {
case 1:
addBook(scanner);
break;
case 2:
getBookById(scanner);
break;
case 3:
getAllBooks();
break;
case 4:
updateBook(scanner);
break;
case 5:
deleteBook(scanner);
break;
case 6:
searchBook(scanner);
break;
case 7:
System.exit(0);
break;
default:
System.out.println("输入错误,请重新输入!");
break;
}
}
}
private static void addBook(Scanner scanner) {
Book book = new Book();
System.out.println("请输入图书名称:");
book.setBookName(scanner.next());
System.out.println("请输入图书作者:");
book.setAuthor(scanner.next());
System.out.println("请输入图书出版社:");
book.setPublisher(scanner.next());
System.out.println("请输入图书出版年份:");
book.setPublishYear(scanner.nextInt());
System.out.println("请输入图书价格:");
book.setPrice(scanner.nextDouble());
System.out.println("请输入图书数量:");
book.setQuantity(scanner.nextInt());
bookService.addBook(book);
System.out.println("添加成功!");
}
private static void getBookById(Scanner scanner) {
System.out.println("请输入要查询的图书编号:");
Book book = bookService.getBookById(scanner.nextInt());
if (book != null) {
System.out.println(book);
} else {
System.out.println("该图书不存在!");
}
}
private static void getAllBooks() {
List<Book> bookList = bookService.getAllBooks();
if (bookList.isEmpty()) {
System.out.println("图书馆为空!");
} else {
for (Book book : bookList) {
System.out.println(book);
}
}
}
private static void updateBook(Scanner scanner) {
System.out.println("请输入要修改的图书编号:");
int bookId = scanner.nextInt();
Book book = bookService.getBookById(bookId);
if (book != null) {
System.out.println("请输入新的图书名称:");
book.setBookName(scanner.next());
System.out.println("请输入新的图书作者:");
book.setAuthor(scanner.next());
System.out.println("请输入新的图书出版社:");
book.setPublisher(scanner.next());
System.out.println("请输入新的图书出版年份:");
book.setPublishYear(scanner.nextInt());
System.out.println("请输入新的图书价格:");
book.setPrice(scanner.nextDouble());
System.out.println("请输入新的图书数量:");
book.setQuantity(scanner.nextInt());
bookService.updateBook(book);
System.out.println("修改成功!");
} else {
System.out.println("该图书不存在!");
}
}
private static void deleteBook(Scanner scanner) {
System.out.println("请输入要删除的图书编号:");
int bookId = scanner.nextInt();
Book book = bookService.getBookById(bookId);
if (book != null) {
bookService.deleteBook(bookId);
System.out.println("删除成功!");
} else {
System.out.println("该图书不存在!");
}
}
private static void searchBook(Scanner scanner) {
System.out.println("请输入要搜索的图书名称:");
String bookName = scanner.next();
System.out.println("请输入要搜索的图书作者:");
String author = scanner.next();
System.out.println("请输入要搜索的图书出版社:");
String publisher = scanner.next();
List<Book> bookList = bookService.searchBook(bookName, author, publisher);
if (bookList.isEmpty()) {
System.out.println("未找到满足条件的图书!");
} else {
for (Book book : bookList) {
System.out.println(book);
}
}
}
}