电子书管理系统

功能划分

最核心的功能

  1. 提供图书管理的服务

    1. 添加图书
    2. 查询
      1. 检索所有的图书
      2. 按已知检索图书信息
    3. 图书的删除
    4. 图书信息的更新

用户

  1. 用户的类型

    1. 管理员:图书的添加、更新、删除操作
    2. 普通用户:检索
  2. 用户的登录

设计电子书的类,表示电子图书的信息

  1. 图书编号:

    1. 字符串:优点是可以用字母中文表示特殊的内容,缺点是排序效率
    2. 数字:int 、long
  2. 图书名称 : String
  3. 作者:String
  4. 价格:double
  5. get/set和打印
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;}@Overridepublic 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;}@Overridepublic String toString() {return "User{" +"userId=" + userId +", userName='" + userName + '\'' +", passwd='" + passwd + '\'' +", phone='" + phone + '\'' +'}';}
}

对图书操作的图书功能类

package org.demo.Service;import org.demo.Bean.Book;import java.util.ArrayList;
import java.util.List;public class BookService {//存数据private static List<Book> bookList = new ArrayList<>();//预存几个图书对象static {bookList.add( new Book(100,"安徒生童话","安徒生",18));bookList.add( new Book(101,"安列卡列尼娜","列夫托尔斯泰",48));bookList.add( new Book(102,"流浪地球","刘慈欣",50));bookList.add( new Book(103,"三体","刘慈欣",54));bookList.add( new Book(104,"唐诗三百首","唐",24));bookList.add( new Book(105,"唐诗三百首","李白",34));}/*** 添加书籍信息* @param book 图书对象*/public void addBook(Book book){//书籍是否重复标记boolean bol = true;//列表长度即现存几本图书int len = bookList.size();for (int i = 0; i < len; i++) {Book tem = bookList.get(i);if (tem.getBookId().equals(book.getBookId())){bol = false;break;}}if (bol){bookList.add(book);System.out.println("添加成功!");}else{System.err.println("编号已存在,添加失败!");}}/*** 获取所有图书信息* @return*/public List<Book> allBookInfo(){return bookList;}/*** 获取指定编号的图书信息* @param bookId 图书编号* @return*/public Book getBookInfo(Integer bookId){Book book = null;//遍历列表int len = bookList.size();for (int i = 0; i < len; i++) {if (bookList.get(i).getBookId().equals(bookId)){book = bookList.get(i);break;}}return book;}/*** 获取指定书名的图书信息* @param bookAuthor 图书作者* @return*/public List<Book> getBookInfo(String bookAuthor){List<Book> list = new ArrayList<>();//遍历列表int len = bookList.size();for (int i = 0; i < len; i++) {if (bookList.get(i).getBookAutor().equals(bookAuthor)){list.add(bookList.get(i));}}return list;}/*** 获取指定书名的图书信息* @param bookName* @return*/public List<Book> getInfo(String bookName){List<Book> list = new ArrayList<>();//遍历列表int len = bookList.size();for (int i = 0; i < len; i++) {if (bookList.get(i).getBookName().equals(bookName)){list.add(bookList.get(i));}}return list;}/*** 通过图书编号删除对应图书* @param bookId 图书编号*/public void delBook(Integer bookId){Book book = getBookInfo(bookId);if (book != null) {bookList.remove(book);System.out.println("删除成功!");} else {System.out.println("删除失败!");}}
}

菜单类即功能展示和具体操作

package org.demo.Service;import org.demo.Bean.Book;import java.util.List;
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:List<Book> books = bookService.allBookInfo();for (int i = 0; i < books.size(); i++) {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();bookService.delBook(bookId);}}

测试类

import org.demo.Service.MenuService;public class Test {public static void main(String[] args) {MenuService menuService = new MenuService();menuService.initMenu();}
}

注:开学之后较忙且懒,之后的学习记录会简写,不会像之前那么详细。

Java学习记录之简单的图书管理系统(完善中)相关推荐

  1. Java学习:创建简单的名片管理系统

    创建简单的名片管理系统 一.创建名片实体类 二.创建名片管理类 1. 创建主菜单 2. 创建登录方法 3. 创建名片管理方法 5. 添加名片方法 6.创建保存名片方法 7.创建读取名片文件方法 8. ...

  2. Java—简单的图书管理系统

    简单的图书管理系统 通过数据源和DAO对象访问数据库.其中JavaBeans实现模型,访问数据库,Servlet实现控制器,JSP页面实现视图. • 模型包括2个JavaBean:BookBean用于 ...

  3. 【Java简单实现图书管理系统】

    文章目录 一.图书管理系统要实现哪些功能 二.怎么去实现这些功能? 三.程序框架图 四.具体实现 1.Book Book BookList 2.User User NormallUser AdminU ...

  4. javaweb JAVA JSP图书管理图书系统 图书管理系统实现简单的图书管理系统源码

    javaweb JAVA JSP图书管理图书系统 图书管理系统实现简单的图书管理系统源码 protected void doGet(HttpServletRequest req, HttpServle ...

  5. java实现简单的图书管理系统(以及代码中用了特殊注释TODO,XXX,FIXME),compare接口

    参考来自 java实现简单的图书管理系统_Jewel's blog-CSDN博客_java图书管理系统一.项目分布Book类: 定义了书的一些属性(书名,作者,价格,分类,状态)并且写了属性的get. ...

  6. java初级内容结课项目——图书管理系统

    在前面的十三课中,笔者已经介绍了有关java的各种语法及其细节.若要融会贯通,则还需大量的练习,而非单纯的依赖于笔记中的内容.毕竟"纸上得来终觉浅,绝知此事要躬行".在java语法 ...

  7. 简单编写图书管理系统

    首先我们先梳理一下图书管理系统的功能 图书管理系统功能梳理 一.系统简介:能够对图书进行增删改查 二.步骤分析:1.写菜单 - 图书系统的所有功能2.实现每一个功能增加学生:a.将图书的信息加到列表里 ...

  8. Java+JSP+Mysql+Tomcat实现Web图书管理系统

    图书管理系统 一.系统介绍 1.软件环境 2.功能模块图 3.系统功能 4.数据库表 5.工程截图 二.系统展示 1.系统注册 2.系统登录 3.找回密码 4.管理员-主页 5.管理员-用户管理主页 ...

  9. Java+Jsp+Mysql实现简单在线图书推荐系统 个性化图书推荐系 java实现基于用户的协同过滤推荐算法 源代码下载 算法实现 Spring+Struts+Hibernate(SSH)开发框架

    Java+Jsp+Mysql实现简单在线图书推荐系统 个性化图书推荐系统(基于用户的协同过滤推荐算法) 一.项目简介 1.开发工具和实现技术 MyEclipse10,jdk1.7,mysql5.5,t ...

最新文章

  1. [Android] TableLayout
  2. 伪距定位算法(matlab版)
  3. pep8 python 编码规范_编码规范的重要性
  4. 趣拼图最后完成及总结
  5. 30天敏捷结果(6):周五回顾,找到三件做的好以及三件需要改善的事情
  6. javascript---DOM---事件
  7. 购物商城Web开发第十四天
  8. hdu1501 Zipper--DFS
  9. c#开发之八---mvc
  10. 个人发卡系统 - 个人发卡网_忆当站长经历,第三方发卡平台跑路,小淘自建即时到账支付系统...
  11. 【人工智能系列 - 智能硬件 - 02】演化硬件的研究现状及发展趋势
  12. 创新产品访谈:Ntalker V2.5
  13. 智能终端代替传统设备 手机APP离线识别车牌号
  14. 2020年最全最好用的在线文档盘点,建议收藏
  15. python 创建高维数组列表
  16. 如何把阿拉伯数字转换为中文大写?
  17. vivo手机如何使用非官方手机主题
  18. matlab中unifrnd函数用法,概率和统计的MATLAB指令
  19. Docker怎么样拉取镜像?怎样删除镜像?
  20. 使用Netty实现一个小型服务器(作为数据中转站)

热门文章

  1. 直观解释-小波变换(二)
  2. JMS(Java Messaging Service)基础知识
  3. 推荐三款视频播放器(超越QQ影音)
  4. 新年之初 云计算2009年十大预测
  5. 云E办项目之部门管理
  6. 厦门软件园二期平面图(超全)
  7. delph7 调webservice报错:Unmarshalling Error:
  8. MATLAB对于自控题目的解答实用代码
  9. NR PDSCH(一)时频资源
  10. 开源ICC2013结题