本次修改使用map储存书本数据,登陆功能因未完善。
图书信息类
package org.demo.Bean;
public class Book {
private Integer bookId;
private String bookName;
private String bookAutor;
private double price;
public Book(){};
public Book(Integer bookId, String bookName, String bookAutor, double price) {
this.bookId = bookId;
this.bookName = bookName;
this.bookAutor = bookAutor;
this.price = price;
}
public Integer getBookId() {
return bookId;
}
public void setBookId(Integer bookId) {
this.bookId = bookId;
}
public String getBookName() {
return bookName;
}
public void setBookName(String bookName) {
this.bookName = bookName;
}
public String getBookAutor() {
return bookAutor;
}
public void setBookAutor(String bookAutor) {
this.bookAutor = bookAutor;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
@Override
public String toString() {
return "Book{" +
"bookId=" + bookId +
", bookName='" + bookName + '\'' +
", bookAutor='" + bookAutor + '\'' +
", price=" + price +
'}';
}
}
用户类
package org.demo.Bean;
public class User {
private Integer userId;
private String userName;
private String passwd;
private String phone;
public User(){};
public User(Integer userId, String userName, String passwd, String phone) {
this.userId = userId;
this.userName = userName;
this.passwd = passwd;
this.phone = phone;
}
public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPasswd() {
return passwd;
}
public void setPasswd(String passwd) {
this.passwd = passwd;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
@Override
public String toString() {
return "User{" +
"userId=" + userId +
", userName='" + userName + '\'' +
", passwd='" + passwd + '\'' +
", phone='" + phone + '\'' +
'}';
}
}
图书信息操作类
package org.demo.Service;
import org.demo.Bean.Book;
import java.util.*;
public class BookService {
//存数据
private static Map<Integer , Book> bookMap = new HashMap<>();
//预存几个图书对象
static {
bookMap.put(100, new Book(100,"唐诗三百首","李白",34));
bookMap.put(102, new Book(102,"安列卡列尼娜","列夫托尔斯泰",48));
bookMap.put(103, new Book(103,"流浪地球","刘慈欣",50));
bookMap.put(104, new Book(104,"三体","刘慈欣",54));
bookMap.put(105, new Book(105,"唐诗三百首","李白",34));
}
/**
* 添加书籍信息
* @param book 图书对象
*/
public boolean addBook(Book book){
//是否标记成功
boolean bol = false;
//列表长度即现存几本图书
Book tem = bookMap.get(book.getBookId());
if (tem == null){
bookMap.put(book.getBookId(), book);
bol = true;
}
return bol;
}
/**
* 获取所有图书信息
* @return
*/
public Map<Integer,Book> allBookInfo(){
return bookMap;
}
/**
* 获取指定编号的图书信息
* @param bookId 图书编号
* @return
*/
public Book getBookInfo(Integer bookId){
Book book = bookMap.get(bookId);
return book;
}
/**
* 获取指定作者的图书信息
* @param bookAuthor 图书作者
* @return
*/
public List<Book> getBookInfo(String bookAuthor){
List<Book> list = new ArrayList<>();
//遍历列表
for( Integer bookId: bookMap.keySet()) {
if (bookMap.get(bookId).getBookAutor().equals(bookAuthor)){
list.add(bookMap.get(bookId));
}
}
return list;
}
/**
* 获取指定书名的图书信息
* @param bookName
* @return
*/
public List<Book> getInfo(String bookName){
List<Book> list = new ArrayList<>();
//遍历列表
for( Integer bookId: bookMap.keySet()) {
if (bookMap.get(bookId).getBookName().equals(bookName)){
list.add(bookMap.get(bookId));
}
}
return list;
}
/**
* 通过图书编号删除对应图书
* @param bookId 图书编号
*/
public boolean delBook(Integer bookId){
boolean flag = false;
Book book = getBookInfo(bookId);
if (book != null) {
bookMap.remove(bookId);
flag = true;
}
return flag;
}
}
菜单显示及操作类
package org.demo.Service;
import org.demo.Bean.Book;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
public class MenuService {
private BookService bookService = new BookService();
private Scanner sc = new Scanner(System.in);
//初始菜单
public void initMenu(){
System.out.println("#########################");
System.out.println("####欢迎使用图书管理系统####");
System.out.println("#########################");
System.out.println("请输入操作序号选择所需操作:");
System.out.println("1、添加图书");
System.out.println("2、查询图书");
System.out.println("3、删除图书");
System.out.println("4、退出");
menu();
}
public void menu(){
//输入选择
int choose = sc.nextInt();
switch (choose){
case 1:
addBook();
initMenu();
break;
case 2:
getBookInfo();
initMenu();
break;
case 3:
delBook();
initMenu();
break;
case 4:
default:
System.exit(0);
break;
}
}
/**
* 添加图书
*/
private void addBook() {
System.out.println("请输入图书编号:");
Integer bookId = sc.nextInt();
sc.nextLine();
System.out.println("请输入图书名称:");
String bookName = sc.nextLine();
System.out.println("请输入图书作者:");
String Author = sc.nextLine();
System.out.println("请输入图书价格:");
double price = sc.nextDouble();
Book book = new Book(bookId ,bookName ,Author ,price);
bookService.addBook(book);
}
/**
*获取图书信息
*/
private void getBookInfo() {
System.out.println("请选择:\n1、查询所有图书;\n2、按图书编号查询;\n3、按作者查询;\n4、按书名查询。");
int choose = sc.nextInt();
switch (choose){
case 1:
//查询所有图书
Map<Integer,Book> books = bookService.allBookInfo();
for (Integer i:books.keySet()) {
System.out.println( books.get(i));
}
break;
case 2:
//按图书编号查询
System.out.println("请输入图书编号:");
int bookId = sc.nextInt();
Book bookInfo = bookService.getBookInfo(bookId);
System.out.println( bookInfo );
break;
case 3:
//按作者查询
System.out.println("请输入图书作者:");
sc.nextLine();
String author = sc.nextLine();
List<Book> bookList = bookService.getBookInfo(author);
for (int i = 0; i < bookList.size(); i++) {
System.out.println( bookList.get(i));
}
break;
case 4:
//按书名查询
System.out.println("请输入图书名称:");
sc.nextLine();
String name = sc.nextLine();
List<Book> bookNameList = bookService.getInfo(name);
for (int i = 0; i < bookNameList.size(); i++) {
System.out.println( bookNameList.get(i));
}
break;
default:
System.out.println("功能待补充。。。");
}
}
/**
* 通过图书编号删除图书信息
*/
private void delBook() {
System.out.println("请输入需要删除的图书编号:");
Integer bookId = sc.nextInt();
boolean bol = bookService.delBook(bookId);
if (bol){
System.out.println("删除成功!");
}else{
System.out.println("未找到该图书,删除失败!");
}
}
}
测试类
import org.demo.Service.MenuService;
public class Test {
public static void main(String[] args) {
MenuService menuService = new MenuService();
menuService.initMenu();
}
}