编写一个图书管理系统用java语言

以下是一个简单的图书管理系统的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);
        }
    }
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值