Java图书管理系统。
1 概述
随着java语言的普及,java应用越来越多,使用量越来越大,今天主要是分享一下如何去使用java语言做一个超简单的图书管理系统。
2 效果图如下:
3 主要功能
/**
* 本详细设计书主要是描述图书项目功能的具体实
* 现,涉及的范围有:
*
* 注册/登录:
*
* 用户角色: 会员 管理员
*
* 会员登录进入到用户平台界面
*
* 管理员登录进入到管理员平台
*/
注册/登录:
用户角色: 会员 管理员
会员登录进入到用户平台界面
管理员登录进入到管理员平台
1用户平台
1.1图书信息查询
可按图书编号、图书名称查询信息
图书列表信息显示(编号、名称、作者、价格、发布日期、库存)
图书信息评论信息(标题、作者、内容、评论时间)
1.2选购图书
1.3发表评论
任何用户可对图书内容进行评论
2 管理平台
2.1图书入库
新增图书入库
图书入库
2.2图书出库
2.3库存预警
显示库存量小于5的图书信息
退出系统
4实现方式
主要有如下几个类:
Book.java
书类:
package homeWork05;
public class Book {
private int bookId;
private String bookName;
private String bookAuthor;
private String publicDatae;
private double bookPrice;
private int bookNomber;
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 getBookAuthor() {
return bookAuthor;
}
public void setBookAuthor(String bookAuthor) {
this.bookAuthor = bookAuthor;
}
public String getPublicDatae() {
return publicDatae;
}
public void setPublicDatae(String publicDatae) {
this.publicDatae = publicDatae;
}
public double getBookPrice() {
return bookPrice;
}
public void setBookPrice(double bookPrice) {
this.bookPrice = bookPrice;
}
public int getBookNomber() {
return bookNomber;
}
public void setBookNomber(int bookNomber) {
this.bookNomber = bookNomber;
}
}
BookBiz.java:
书操作类:
package homeWork05;
import java.util.Arrays;
public class BookBiz {
public void CreateTable(Book[] books) {
System.out.println("书号\t书名\t作者\t发布时间\t\t价格\t库存");
for (int i = 0; i < books.length; i++) {
System.out.println(books[i].getBookId() + "\t" + books[i].getBookName() + "\t" + books[i].getBookAuthor()
+"\t" + books[i].getPublicDatae() + "\t" + books[i].getBookPrice() + "\t"
+books[i].getBookNomber());
}
}
public boolean BuyBook(int id, int no, Book[] books) {
boolean is = false;
for (int i = 0; i < books.length; i++) {
if (books[i].getBookId() == id) {
System.out.println(books[i].getBookName() + ":" + books[i].getBookPrice());
System.out.println("数量:" + no);
System.out.println("小计:" + books[i].getBookPrice() * no);
if (books[i].getBookNomber() - no >= 0) {
books[i].setBookNomber(books[i].getBookNomber() - no);
is = true;
}
}
}
return is;
}
public boolean ChangeBooks(Book b, Book[] books, boolean add) {
boolean is = false;
if (add) {
for (int i = 0; i < books.length; i++) {
if (books[i].getBookId() == b.getBookId()) {
books[i].setBookNomber(books[i].getBookNomber() + b.getBookNomber());
is = true;
}
}
}else {
for (int i = 0; i < books.length; i++) {
if (books[i].getBookId() == b.getBookId()) {
if (books[i].getBookNomber() - b.getBookNomber() >= 0) {
books[i].setBookNomber(books[i].getBookNomber() - b.getBookNomber());
is = true;
}
}
}
}
return is;
}
public Book[] AddBooks(Book b, Book[] books) {
books = Arrays.copyOf(books, books.length + 1);
books[books.length - 1] = b;
return books;
}
}
BookTube.Java:
书吧类:
package homeWork05;
/**
* 本详细设计书主要是描述图书项目功能的具体实现,涉及的范围有:
*
* 注册/登录:
*
* 用户角色: 会员 管理员
*
* 会员登录进入到用户平台界面
*
* 管理员登录进入到管理员平台
*/
public class BookTube {
User[] users = new User[5];
Book[] books = new Book[5];
public User[] getUsers() {
return users;
}
public void setUsers(User[] users) {
this.users = users;
}
public Book[] getBooks() {
return books;
}
public void setBooks(Book[] books) {
this.books = books;
}
}
BookTubeBiz:
书吧操作类:
package homeWork05;
importjava.util.Scanner;
public class BookTubeBiz {
UserBiz ub = new UserBiz();
BookBiz bb = new BookBiz();
public BookTubeBiz() {
}
public BookTubeBiz(BookTube bt) {
System.out.print("欢迎使用图书书店\n请输入用户名:");
@SuppressWarnings("resource")
Scanner input = new Scanner(System.in);
String un = input.next();
System.out.print("请输入密码:");
String pw = input.next();
User u = ub.getUser(un, pw, bt.getUsers());
if (u.getUserName() == null) {
System.out.println("登陆失败!");
return;
} else {
System.out.println("登陆成功!");
ub.Login(u);
bb.CreateTable(bt.getBooks());
Operat(u.getAdmin(), bt);
}
}
private void Operat(boolean isAdmin, BookTube bt) {
@SuppressWarnings("resource")
Scanner input = new Scanner(System.in);
int id;
if (isAdmin) {
boolean go = true;
while (go) {
System.out.println("请选择操作:1.图书入库 2.图书出库 3.查询全部图书 4.新增图书 5.退出");
id = input.nextInt();
switch (id) {
case 1:
ChangeBook(bt, true);
break;
case 2:
ChangeBook(bt, false);
break;
case 3:
bb.CreateTable(bt.getBooks());
break;
case 4:
AddBook(bt);
break;
case 5:
go = false;
break;
}
}
System.out.println("谢谢光临,再见!");
} else {
boolean go = true;
while (go)
{
System.out.println("请选择操作:1.查看图书 2.结帐 3.退出");
id = input.nextInt();
switch (id) {
case 1:
bb.CreateTable(bt.getBooks());
break;
case 2:
BuyBook(bt);
break;
case 3:
go = false;
break;
}
}
System.out.println("谢谢光临,再见!");
}
}
private void BuyBook(BookTube bt) {
System.out.print("请输入欲购买的图书信息:\n请输入图书ID:");
@SuppressWarnings("resource")
Scanner input = new Scanner(System.in);
int id = input.nextInt();
System.out.print("请输入购买数量:");
int no = input.nextInt();
if (!bb.BuyBook(id, no, bt.getBooks())) {
System.out.println("您输入的编号有误,请重新输入!");
BuyBook(bt);
}
}
private void ChangeBook(BookTube bt, boolean add) {
System.out.println("请输入图书信息\n请输入图书编号:");
@SuppressWarnings("resource")
Scanner input = new Scanner(System.in);
Book b = new Book();
b.setBookId(input.nextInt());
if (add) {
System.out.println("请输入入库数量:");
b.setBookNomber(input.nextInt());
if (bb.ChangeBooks(b, bt.getBooks(), add)) {
System.out.println("入库成功!");
bb.CreateTable(bt.getBooks());
} else {
System.out.println("对不起,输入的id不正确!");
}
} else {
System.out.println("请输入出库数量:");
b.setBookNomber(input.nextInt());
if (bb.ChangeBooks(b, bt.getBooks(), add)) {
System.out.println("出库成功!");
bb.CreateTable(bt.getBooks());
} else {
System.out.println("未找到该书,或库存不足!");
}
}
}
private void AddBook(BookTube bt) {
System.out.println("请输入图书信息\n请输入图书书名:");
@SuppressWarnings("resource")
Scanner input = new Scanner(System.in);
Book b = new Book();
b.setBookId(bt.getBooks()[bt.getBooks().length - 1].getBookId() + 1);
b.setBookName(input.next());
System.out.println("请输入作者:");
b.setBookAuthor(input.next());
System.out.println("请输出版时间:");
b.setPublicDatae(input.next());
System.out.println("请输价格:");
b.setBookPrice(input.nextDouble());
System.out.println("请输入入库数量:");
b.setBookNomber(input.nextInt());
bt.setBooks(bb.AddBooks(b, bt.getBooks()));
System.out.println("添加成功!");
bb.CreateTable(bt.getBooks());
}
}
BookTubeTest:
书吧测试类:
package homeWork05;
public class BookTubeTest {
public static void main(String[] args) {
BookTube bt = new BookTube();
InitUser(bt.getUsers());
InitBook(bt.getBooks());
new BookTubeBiz(bt);
}
public static void InitUser(User[] users) {
for (int i = 0; i < users.length; i++) {
users[i] = new User();
users[i].setUserName("user" + (i + 1));
users[i].setPassWord("user" + (i + 1));
boolean isAdmin;
if (i % 2 == 0) {
isAdmin = true;
} else {
isAdmin = false;
}
users[i].setAdmin(isAdmin);
}
}
public static void InitBook(Book[] books) {
for (int i = 0; i < books.length; i++) {
books[i] = new Book();
books[i].setBookId(10001 + i);
books[i].setBookName("book" + (i + 1));
books[i].setBookAuthor("TY");
books[i].setPublicDatae("2017-8-26");
books[i].setBookPrice(22.58);
books[i].setBookNomber(5);
}
}
}
User:
用户类:
packagehomeWork05;
public class User {
private String userName;
private String passWord;
private boolean isAdmin;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassWord() {
return passWord;
}
public void setPassWord(String passWord) {
this.passWord = passWord;
}
public boolean getAdmin() {
return isAdmin;
}
public void setAdmin(boolean isAdmin) {
this.isAdmin = isAdmin;
}
}
UserBiz:
用户操作类:
packagehomeWork05;
public class UserBiz {
public void Login(User u) {
System.out.println("******欢迎光临图书系统******");
if (u.getAdmin()) {
System.out.println("欢迎管理员" + u.getUserName() + "!");
} else {
System.out.println("欢迎用户" + u.getUserName() + "!");
}
}
public User getUser(String un, String pw, User[] users) {
User u = new User();
u.setUserName(null);
for (int i = 0; i < users.length; i++) {
if (users[i].getUserName().equals(un) && users[i].getPassWord().equals(pw)) {
u = users[i];
break;
}
}
return u;
}
}
通过以上几个类的协同工作就构成了我们这个简单的图书管理系统了!而且简单易使用。