package com.test.library.newlib;
import java.util.Scanner;
public class LibrarySystem {
private static Scanner in = new Scanner(System.in);
private static int choice;// 用户的选择
// 显示主菜单的方法
public static void menu() {
System.out.println("***************图书馆管理系统*****************");
System.out.println("\t1.增加图书\t\t2.删除图书");
System.out.println("\t3.修改图书\t\t4.单个查询图书");
System.out.println("\t5.查询所有图书\t6.借书");
// System.out.println("\t\t7.还书\t\t8.查询借书情况");
System.out.println("\t7.还书\t\t8.查询借书情况");
System.out.println("\t9.增加会员\t\t10.查询会员");
System.out.println("\t11.删除会员\t12.退出系统");
/*
* 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.还书"); System.out.println("8.查询借书情况");
*/
// System.out.println("9.退出系统");
System.out.println("*****************************************");
System.out.println("请选择(1-12):");
choice = in.nextInt();
}
public static void main(String[] args) {
Library lib = new Library();
String bid;// 图书的编号
String sid;// 会员学号
Students s = null; // 会员对象
LibrarySystem.menu();
// 用while循环来控制程序跳转流程
while (choice != 12) {
switch (choice) {
case 1:// 增加图书
// 判断会员
System.out.println("请输入会员学号");
sid = in.next();
// 判断学号是否存在
if (lib.queryStudentsBySid(sid) != null) {
System.out.println("请输入图书的信息:根据提示(b0002-西游记-吴承恩-北京出版社-50)");
String input = in.next();
lib.addBooks(input);
} else {
System.out.println("此生不存在!");
}
break;
case 2:// 删除图书
System.out.println("请输入会员学号");
sid = in.next();
// 判断学号是否存在
if (lib.queryStudentsBySid(sid) != null) {
// 封装成会员,好进行删除操作
s = lib.queryStudentsBySid(sid);
System.out.println("请输入要删除的图书id");
bid = in.next();
if (lib.findById(bid) != null) {
// 对应要删除的图书
Books b = lib.findById(bid);
// 要删除的图书信息展示
System.out.println("您要删除的图书信息显示如下:");
System.out.println(b);
// 删除图书方法
lib.removeBooks(bid);
} else {
System.out.println("要删除的图书不存在!");
}
} else {
System.out.println("不存在该生");
}
break;
case 3:// 修改图书
// 判断会员
System.out.println("请输入会员学号");
sid = in.next();
// 判断学号是否存在
if (lib.queryStudentsBySid(sid) != null) {
// 单个查询图书信息
System.out.println("请输入要修改的图书id");
bid = in.next();
Books b = lib.findById(bid);
System.out.println("图书信息如下");
System.out.println(b);
System.out.println("请输入修改后的图书信息:根据提示(b0002-西游记-吴承恩-北京出版社-50)");
String input = in.next();
lib.modifyBooks(bid, input);
} else {
System.out.println("这个会员不存在!");
}
break;
case 4:
// 按图书编号查找图书
System.out.println("请输入图书的编号:");
bid = in.next();
// 查询有无此书
if (lib.findById(bid) != null) {
// 封装此书
Books b = lib.findById(bid);
// 输出书的内容――自动调用toString方法
System.out.println(b);
} else {
System.out.println("图书不存在!");
}
break;
case 5:
// 查询所有图书
lib.queryAllBooks();
break;
case 6:// 借书
System.out.println("请输入会员的学号:");
sid = in.next();
// 判断会员存在――权限
if (lib.queryStudentsBySid(sid) != null) {
s = lib.queryStudentsBySid(sid);
System.out.println("请输入图书编号:");
bid = in.next();
if (lib.findById(bid) != null) {
Books b = lib.findById(bid);
System.out.println(b);
// 借书开始
lib.lendBooks(b, s);
} else {
System.out.println("图书不存在!");
}
} else {
System.out.println("会员不存在!");
}
break;
case 7:// 还书
System.out.println("请输入会员的学号:");
sid = in.next();
if (lib.queryStudentsBySid(sid) != null) {
s = lib.queryStudentsBySid(sid);
s.showAllLendBooks();
System.out.println("请输入图书编号:");
bid = in.next();
// 借的图书集里有此图书
if (s.getBooksByBid(bid) != null) {
// 得到对应id的图书
Books b = s.getBooksByBid(bid);
// 归还图书
lib.returnBooks(b, s);
} else {
System.out.println("您没借过该书!");
}
} else {
System.out.println("会员不存在!");
}
break;
case 8:// 查询借书情况
System.out.println("请输入会员学号:");
sid = in.next();
s = lib.queryStudentsBySid(sid);
if (s != null) {
// 展示所有已借图书
s.showAllLendBooks();
} else {
System.out.println("会员不存在!");
}
break;
case 9:// 增加会员
System.out.println("请输入会员的信息:根据提示(s0001-小张)");
sid = in.next();
lib.addUser(sid);
break;
case 10:// 查询会员
System.out.println("请输入会员的编号:");
sid = in.next();
s = lib.queryStudentsBySid(sid);
if (s != null) {
System.out.println("[会员ID:"+s.getSid()+",会员名称:"+s.getName()+"]");
} else {
System.out.println("会员不存在!");
}
break;
}
// 因为要重复显示菜单,这里采用递归调用的方法
LibrarySystem.menu();
}
System.out.println("感谢您的使用,再见!");
}
}